ドキュメンテーション

最新のリリースでは、このページがまだ翻訳されていません。 このページの最新版は英語でご覧になれます。

griddatan

N 次元散布データの内挿

構文

vq = griddatan(x,v,xq)
vq = griddatan(x,v,xq,method)
vq = griddatan(x,v,xq,method,options)

説明

vq = griddatan(x,v,xq) は、値 v をもつサンプル点 x を式 v = f(x) の超平面で近似します。関数 griddatan は、xq で指定されたクエリ点に表面を内挿し、内挿された値 vq を返します。表面は常に、x および v によって定義されたデータ点を通過します。

vq = griddatan(x,v,xq,method) は、vq の計算に使用する内挿法を指定します。オプションは 'linear' または 'nearest' です。

vq = griddatan(x,v,xq,method,options) は、delaunayn を介して Qhull で使用される文字ベクトルの cell 配列 options を指定します。

すべて折りたたむ

4 次元の散布データセットを内挿し、内挿されたデータの 3 次元の等値面を可視化します。

サンプル点の散布セットを作成します。

X = 2*gallery('uniformdata',[5000 3],0)-1;
Y = sum(X.^2,2);

x、y、z の各グリッドを作成してクエリ点の 3 次元セットとして使用し、これらの点に散布データを内挿します。

d = -0.8:0.05:0.8;
[y0,x0,z0] = ndgrid(d,d,d);
XI = [x0(:) y0(:) z0(:)];
YI = griddatan(X,Y,XI);

4 次元のデータセットの可視化は難しいため、0.8 の等値面を使用して内挿結果を可視化します。

YI = reshape(YI, size(x0));
p = patch(isosurface(x0,y0,z0,YI,0.8));
isonormals(x0,y0,z0,YI,p)
p.FaceColor = 'blue';
p.EdgeColor = 'none';
view(3)
axis equal
camlight
lighting phong

最近傍内挿を 3 次元データセットに使用します。

サンプルの 3 次元データセットを作成します。行列 X は観測データの xyz の位置を含み、v は (ランダムに生成された) 観測データを含みます。このタイプのデータセットは、たとえば、これらの位置における海水の酸素濃度を表すことができます。

X = [rand(100,1) rand(100,1) rand(100,1)];
v = rand(100,1);

最近傍内挿を使用して、いくつかのクエリ点で基となる関数の値を近似します。

[xx,yy,zz] = meshgrid(0.2:0.025:0.8);
xq = [xx(:) yy(:) zz(:)];
vq = griddatan(X,v,xq,'nearest');

サンプル点の位置の上に、結果のスライスをプロットします。

vq = reshape(vq,size(xx));
plot3(X(:,1),X(:,2),X(:,3),'r*')
hold on
slice(xx,yy,zz,vq,[0.2 0.4 0.6 0.8],0.5,0.5)

入力引数

すべて折りたたむ

サンプル点の座標。行列として指定します。xmn 列の行列として指定して、n 次元空間内の m 個の点を表します。サンプル点は一意でなければなりません。

データ型: single | double

サンプル値。ベクトルとして指定します。v は、x に指定された各サンプル点 (行) に対して 1 つの値をもつ、長さ m のベクトルとして指定します。

v に複素数が含まれる場合、griddatan は実数部と虚数部を個別に内挿します。

データ型: single | double
複素数のサポート: あり

クエリ点。行列として指定します。xqpn 列の行列として指定して、n 次元空間の p 個の点を表します。xq は通常 ndgrid で生成される等間隔グリッドから作成されます。

データ型: single | double

内挿法。次の表の値のいずれかとして指定します。これらの手法は両方とも、入力データの Delaunay 三角形分割に基づいています。

オプション説明連続性
'linear' (既定)三角形分割に基づく線形内挿。C0
'nearest'最近傍点による内挿。不連続

method[] の場合、griddatan は既定の 'linear' 法を使用します。

データ型: char

Qhull 固有のオプション。cell 配列として指定します。サポートされるオプションのリストについては、「Qhull Quick Reference」を参照してください。

options[] の場合、griddatan は次の既定のオプションを使用します。

  • 2 次元および 3 次元の内挿の場合は {'Qt' 'Qbb' 'Qc'}

  • 4 次元以上の内挿の場合は {'Qt' 'Qbb' 'Qc' 'Qx'}

options{''} の場合、関数 griddatan は既定も含めてオプションを一切使用しません。

データ型: cell

出力引数

すべて折りたたむ

内挿値。長さ p のベクトルとして返されます。vq の内挿値は、xq のクエリ点 (行) に対応します。

ヒント

  • griddatan をおよそ 6 次元より高い次元での内挿に使用することは現実的でありません。次元数と共に、基となる三角形分割に必要なメモリが指数的に増加するためです。

R2006a より前に導入

この情報は役に立ちましたか?