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

看板MATLAB作者 (傲龍逍遙)時間11年前 (2014/07/08 16:55), 11年前編輯推噓0(000)
留言0則, 0人參與, 最新討論串1/1
諸位先進好,小弟我近日在處理一筆資料,含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需要修正哪個部份呢? -- 18121 10/09 - 卡 □ ▁▁▁▁ ●18122 10/09 - 卡 □ ▕≡ ≡▏可以不要再吃廣告文了嗎... 18123 10/09 - 獸 □ ▕▼▼▼▼▏我已經受夠這種像處罰遊戲 18124 10/09 - 的 □ ▕▲▲▲▲▏的吃東西方式了...... 18125 10/09 - 哀 □ /██\ 18126 10/09 - 傷 □ | \ ψmarubom -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.115.21.29 ※ 文章網址: http://www.ptt.cc/bbs/MATLAB/M.1404809740.A.4AF.html ※ 編輯: shoryo (140.115.21.29), 07/08/2014 20:54:26
文章代碼(AID): #1Jkx8CIl (MATLAB)
文章代碼(AID): #1Jkx8CIl (MATLAB)