title: Interpolation of a 3D vector field in MATLAB
body: <p>I'm trying to interpolate a 3D vector field. For every <code>(x,y,z)</code> position we have a vector <code>(u,v,w)</code>. I have another set of points let's call them <code>(xq,yq,zq)</code> in which I don't have vector information <code>(uq,vq,wq)</code>. I would like to interpolate my data to find the vectors at the points <code>(xq,yq,zq)</code>.</p>
  
  <p>I've tried to interpolate using several functions like griddata, by interpolating each vector component individually.</p>
  
  <pre><code>uq = griddata(x,y,z,u,xq,yq,zq);
  vq = griddata(x,y,z,v,xq,yq,zq);
  wq = griddata(x,y,z,w,xq,yq,zq);
  </code></pre>
  
  <p>I expect to obtain the vectors at the locations I specified, but the message I get is:</p>
  
  <blockquote>
    <p>"Warning: The underlying triangulation is empty - the points may be
    coplanar or collinear."</p>
  </blockquote>
  
  <p>Is there a better way to interpolate a vector field?</p>