| MATLAB Function Reference | ![]() |
表示
VI = interp3(X,Y,Z,V,XI,YI,ZI) VI = interp3(V,XI,YI,ZI) VI = interp3(V,ntimes) VI = interp3(...,method)
詳細
VI = interp3(X,Y,Z,V,XI,YI,ZI)
は、内挿を使って、配列 XI、YI、ZI 内の点で、3次元関数 V の値 VI を検出します。XI、YI、ZI は、同じサイズの配列、または、ベクトルでなければなりません。ベクトル引数が、同じサイズでなかったり、方向がバラバラの場合、関数 meshgrid を使って、配列 Y1、Y2、Y3 を作成します。配列 X、Y、Z は、データ V が与えられる点を指定します。範囲外の点は、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)
は、再帰的に、ntimes 回、各要素間の内挿を行うことにより、V を拡張します。コマンド interp3(V) は、interp3(V,1) と同じです。
VI = interp3(...,method)
は、つぎの手法を設定します。
'linear' |
線形内挿(デフォルト) |
'cubic' |
キュービック内挿 |
'spline' |
キュービックスプライン内挿 |
'nearest' |
最近傍内挿 |
議論
すべての補間法は、X、Y、Z が単調関数で、meshgrid を使って、作成されたようなフォーマットをしている必要があります。X、Y、Z は、不等間隔でも構いません。X、Y、Z が等間隔で、単調な場合、高速な内挿を実現するには、'*linear'、'*cubic'、'*nearest' のいずれかを使用してください。
例題
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
参考
interp1, interp2, interpn, meshgrid
| interp2 | interpft | ![]() |