我有一个数据库:
d(:,1)
=经度d(:,2)
=纬度d(:,3)
=深度d(:,4)
=有毒金属浓度。数据间隔不规则,如您所见,所有数据都是矢量数据。你能否告诉我如何制作一个volume
,其中所有金属浓度都被绘制为颜色(以便在高或低的地方容易识别),而经度,纬度和深度将在x轴上, y轴和z轴分别?
我知道我必须制作我的d(:,4)
=体积数据(必须与纬度,长度和深度数据相对应的3D矩阵)。但我不确定如何创建3D阵列...
答案 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);
查找帮助中的功能(您可能需要调整参数)。
但下次:自己尝试一下并发布你的尝试。它更容易提供帮助,而且你会了解更多。