How to use a cloud of points to interpolate the value at a given point?
1 回表示 (過去 30 日間)
古いコメントを表示
I have a point cloud matrix A with columns 1,2,3,4 equal to X,Y,Z (locations) and Value
I have a point B (xq,yq,zq) that i want to evaluate using the point cloud A.
I have tried using
vq = griddata(A(:,1),A(:,2),A(:,3),A(:,4),B(1),B(2),B(3))
with the error: ??? Error using ==> griddata at 72 METHOD must be one of 'linear','cubic','nearest', or 'v4'.
and vq = griddata(A(:,1),A(:,2),A(:,3),A(:,4),B(1),B(2),B(3),'linear') with the error: ??? Error using ==> griddata Too many input arguments.
i tried creating vectors for the query point (B), where i just filled below with some zeros to see if that would work, but it did not.
Any idea how i can accomplish this? Is griddata the right function?
0 件のコメント
回答 (1 件)
John D'Errico
2018 年 10 月 24 日
編集済み: John D'Errico
2018 年 10 月 24 日
You were close.
griddata is there for problems of the form z(x,y), thus two independent variables. You have three. That is why griddata gave a hiccup, since you tried to pass in too many arguments.
Use scatteredInterpolant instead, a function designed to work on higher dimensional problems.
参考
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!