Main Content

3 次元グリッドにおける 2 次元選択の内挿

この例では、3 次元のグリッド平面配列の次元を減らして 2 次元内挿問題を解く方法を説明します。

一部の応用分野では、たとえば、3 次元グリッドの平面内挿など、グリッドの低次元平面の内挿が必要になる場合があります。3 次元グリッドからグリッド平面を抽出する場合、その結果の配列が 3 次元形式になることもあります。関数 squeeze を使用してグリッド平面配列の次元を減らすことで、2 次元の問題を解くことができます。

3 次元サンプル グリッドと、対応するサンプル値を作成します。

[X,Y,Z] = ndgrid(1:5);
V = X.^2 + Y.^2 +Z;

グリッドから 2 次元サンプルを選択します。この場合は、サンプルの 3 列目です。

x = X(:,3,:);
z = Z(:,3,:);
v = V(:,3,:);

2 次元の平面は Y=3 で発生するので、Y の次元は固定されています。xz および v は 5 x 1 x 5 の配列です。内挿を評価する前にこの配列を 2 次元配列まで減らさなければなりません。

xz および v を 2 次元配列まで減らすには、関数 squeeze を使用します。

x = squeeze(x);
z = squeeze(z);
v = squeeze(v);

2 次元スライスをクエリ点の細かいグリッドに内挿します。

[Xq,Zq] = ndgrid(1:0.5:5);
Vq = interpn(x,z,v,Xq,Zq);

結果をプロットします。

figure
surf(Xq,Zq,Vq);
xlabel('Xq');
ylabel('Zq');
zlabel('Vq');

参考

|

関連するトピック