现在函数值随三个参数和一个数字而变化

时间:2019-03-28 15:50:36

标签: matlab 3d data-visualization matlab-figure

我想通过一个数字阐明函数及其三个参数之间的关系,例如y = f(a,b,c),其中y随三个参数a,b,c的不同而变化。

但是似乎不可能。有什么好的解决办法吗?还是其他合理的方法可以很好地形象化关系?

我想知道是否可以绘制具有三个轴a,b,c的3-D图形,并使用色深表示函数值。可以实现吗?

1 个答案:

答案 0 :(得分:1)

这是使用scatter3绘制多个变量的示例。更改标记类型将添加更多功能。注意,我们仍然没有使用S中的scatter3(X,Y,Z,S,C)(标记大小)参数。

但是,对于某些应用程序来说,这可能不是一个很好的可视化。下面列出了一些其他资源。

3D Scatterplot example with different markers and colors for higher dimensional visualization.

% MATLAB R2017a
n = 50;
X = 10*rand(n,1);
Y = 15*rand(n,1);
Z = 20*rand(n,1);
V = 100*rand(n,1); 

idxA = X + Y > 15;
idxB = ~idxA;

colormap(cmap), hold on, box on
p(1) = scatter3(X(idxA),Y(idxA),Z(idxA),[],V(idxA),'filled');
p(2) = scatter3(X(idxB),Y(idxB),Z(idxB),[],V(idxB),'filled');
p(2).Marker = 'd';
cb = colorbar;
view([-5 -2 -2])

p(1).MarkerEdgeColor = 'k';
p(2).MarkerEdgeColor = 'k';
xlabel('X')
ylabel('Y')
zlabel('Z')
cb.Label.String = 'V';  

其他资源:
post包含3D和4D解决方案。由于post的许多示例均带有代码,因此将来的访问者也可能会发现它很有价值。

MATLAB参考:
MATLAB Plot Types
MATLAB Plot Gallery