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
の次元は固定されています。x
、z
および v
は 5 x 1 x 5 の配列です。内挿を評価する前にこの配列を 2 次元配列まで減らさなければなりません。
x
、z
および 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');