3

私はそのようなデータベースを持っています:

  • d(:,1)= 経度
  • d(:,2)= 緯度
  • d(:,3)=深さ
  • d(:,4)= 有毒金属濃度。

データは不規則な間隔で配置されており、ご覧のとおり、すべてのデータはベクトル データです。経度volume、緯度、深さが x 軸、y 軸、およびそれぞれz軸?

d(:,4)= ボリューム データ (緯度、経度、深度データに対応する必要がある 3D マトリックス) を作成する必要があることはわかっています。しかし、その3D配列を作成する方法がわかりません...

4

1 に答える 1

1

試してくださいscatter3(X,Y,Z,S,C)ドキュメントを参照)

X、Y、Z は一目瞭然です。S はマーカーのサイズ、C は色です。データに応じてどちらかを変えることができます。

試してみて、問題が発生した場合は質問を更新してください。


更新 1: コメントのおかげで、通常のグリッドでデータを補間し、データをスライスしたいと思います。

% create a regularly spaced mesh between the exterma of the dataset
xx = linspace(min(d(:,1)),min(d(:,1)),100);
yy = linspace(min(d(:,2)),min(d(:,2)),100);
zz = linspace(min(d(:,3)),min(d(:,3)),100);

[xi,yi,zi] = meshgrid(xx, yy, zz);

% interpolate the data in the regular space
vi = interp3(d(:,1), d(:,2), d(:,3), d(:,4), xi, yi, zi, 'spline');

% choose the slice planes
xslice = [-10 10]; yslice = 0; zslice = [-100, -50, -10];

% display the sliced interpolated data
slice(xi,yi,zi,vi,xslice,yslice,zslice);

ヘルプで関数を調べます (パラメーターの調整が必要な場合があります)。

しかし次回は、自分で何かを試して、その試みを投稿してください。支援する方がはるかに簡単で、さらに多くのことを学ぶことができます。

于 2012-11-03T20:40:51.340 に答える