创建卷

时间:2012-11-03 20:26:33

标签: matlab volume

我有一个数据库:

  • d(:,1) =经度
  • d(:,2) =纬度
  • d(:,3) =深度
  • d(:,4) =有毒金属浓度。

数据间隔不规则,如您所见,所有数据都是矢量数据。你能否告诉我如何制作一个volume,其中所有金属浓度都被绘制为颜色(以便在高或低的地方容易识别),而经度,纬度和深度将在x轴上, y轴和z轴分别?

我知道我必须制作我的d(:,4) =体积数据(必须与纬度,长度和深度数据相对应的3D矩阵)。但我不确定如何创建3D阵列...

1 个答案:

答案 0 :(得分:1)

尝试scatter3(X,Y,Z,S,C)(请参阅doc

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);

查找帮助中的功能(您可能需要调整参数)。

但下次:自己尝试一下并发布你的尝试。它更容易提供帮助,而且你会了解更多。