MATLAB Function Reference |
Syntax
VI = interpn(X1,X2,X3,...,V,Y1,Y2,Y3,...) VI = interpn(V,Y1,Y2,Y3,...) VI = interpn(V,ntimes) VI = interpn(...,method)
Description
VI = interpn(X1,X2,X3,...,V,Y1,Y2,Y3,...)
經由內插法求得 VI
,其中X1
、 X2
...是資料點的輸入部分,V
是資料點的輸入部分,Y1
、 Y2
...是內插點,超出範圍的值會傳回 NaN
。對 N
-D 的 V
來說, interpn
需要 2*N+1
個參數,所以 interpn
可以對2維與2維以上的資料作運算。
VI = interpn(V,Y1,Y2,Y3,...)
會假設 X1 = 1:size(V,1)
、 X2 = 1:size(V,2)
、 X3 = 1:size(V,3)
等等以此類推。
VI = interpn(V,ntimes)
藉著在每個元素間插入內插值來延展 V
,遞迴的作 ntimes
次。 interpn(V,1)
就等於 interpn(V)
。
VI = interpn(...,method)
可以指定內插的方法:
'linear' |
多維線性內插法 (預設值) |
'cubic' |
多維三次內插 |
'spline' |
多維三次 spline 內插法 |
'nearest' |
鄰近點內插 |
Discussion
這裡所有的內插方法都需要 X1
、 X2
和 X3
是單調的(monotonic),且與 ("plaid") 有相同的格式就好像由 meshgrid
所產生的。在進行內插之前,會把 X1
、 X2
、 X3
...、 Y1
、 Y2
、 Y3
... 調整成等距來作處理。當 X1
、 X2
、 X3
...已是等距且單調時,就可以用 '
*linear'
、 '
*cubic'
、 '
或 '
*nearest'
來加快執行的速度。
See Also
interp1
, interp2
, interp3
, ndgrid
interpft | interpstreamspeed |