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 回答