| MATLAB Function Reference | ![]() |
Syntax
VI = interp3(X,Y,Z,V,XI,YI,ZI) VI = interp3(V,XI,YI,ZI) VI = interp3(V,ntimes) VI = interp3(...,method)
Description
VI = interp3(X,Y,Z,V,XI,YI,ZI)
其中 X 、 Y 、 Z 、 V 是三維矩陣,前三者代表資料點輸入的部分, V 是資料點輸出的部分,XI 、 YI 、 ZI則是內插點。超出範圍的值會傳回 NaN。
VI = interp3(V,XI,YI,ZI)
會假設 X=1:N 、 Y=1:M 、 Z=1:P , [M,N,P]=size(V)。
VI = interp3(V,ntimes)
藉著在每個元素間插入內插值來延展 V ,遞迴的作 ntimes 次。 interp3(V) 就等於 interp3(V,1)。
VI = interp3(...,method)
可以指定內插的方法:
'linear' |
三維線性內插法 (預設值) |
'cubic' |
三維三次內插 |
'spline' |
三維三次 spline 內插法 |
'nearest' |
鄰近點內插 |
Discussion
這裡所有的內插方法都需要 X 、 Y 和 Z 是單調的(monotonic),且與 ("plaid") 有相同的格式就好像由 meshgrid 所產生的。在進行內插之前,會把 X 、 Y 、 Z 、 XI 、 YI 、 ZI 調整成等距來作處理。當 X 、 Y 、 Z 已是等距且單調時,就可以用 '*linear'、 '*cubic' 、 ' 或 '*nearest' 來加快執行的速度。
Examples
在 finer mesh 上對 flow 函式所產生的資料點作內插 :
[x,y,z,v] = flow(10); [xi,yi,zi] = meshgrid(.1:.25:10, -3:.25:3, -3:.25:3); vi = interp3(x,y,z,v,xi,yi,zi); % V is 31-by-41-by-27 slice(xi,yi,zi,vi,[6 9.5],2,[-2 .2]), shading flat
See Also
interp1, interp2, interpn, meshgrid
| interp2 | interpft | ![]() |