[問題]三維空間內的griddata問題

作者: shoryo (犯中二的小小鳥)   2014-07-08 16:55:35
諸位先進好,小弟我近日在處理一筆資料,含xyz座標及其值v,
因為資料點不多,所以希望可以利用griddata指令將值做內插,
code如下:
x=unique(da(:,1));
y=unique(da(:,2));
z=unique(da(:,3));
xx=linspace(x(1),x(length(x)),length(x)*2);
yy=linspace(y(1),y(length(y)),length(y)*2);
zz=linspace(z(1),z(length(z)),length(z)*2);
[gx,gy,gz]=meshgrid(xx,yy,zz);
V=zeros(length(y),length(x),length(z));
for n=1:length(da(:,1));
xi=find(x==da(n,1,t));
yi=find(y==da(n,2,t));
zi=find(z==da(n,3,t));
V(yi,xi,zi)=da(n,4,t);
end
Va=zeros(length(yy),length(xx),length(zz));
Va=griddata(x,y,z,V,gx,gy,gz);
其中da矩陣為原始資料,每一直行分別代表x,y,z,v
那執行時的錯誤訊息如下:
Error using TriScatteredInterp
Data point coordinates have inconsistent dimension.
Error in griddata>linear (line 211)
F =
TriScatteredInterp(inargs{1}(:),inargs{2}(:),inargs{3}(:),inargs{4}(:));
Error in griddata (line 128)
vq = linear(inputargs,numarg);
Error in Slice_3D (line 25)
Va=griddata(x,y,z,V,gx,gy,gz);
不知道看了一下help跟矩陣大小都沒有問題,
想請教各位先進我的code需要修正哪個部份呢?

Links booklink

Contact Us: admin [ a t ] ucptt.com