我有100 * 100矩阵,我怎么能制作plot3图?

时间:2015-09-03 08:00:08

标签: matlab graph

我有一个100 x 100矩阵,我必须在MATLAB环境中使用plot3来绘制这些数据。我试过plot3(matrix name)但是我遇到了这个错误“没有足够的输入参数”。我认为plot3需要3个输入参数,但我只有这个数据矩阵。有谁能帮我解决这个问题?当我们没有足够的论据时,plot3还有其他选择吗? 我需要一个这样的图表:

enter image description here

2 个答案:

答案 0 :(得分:1)

我认为您想将图中的值绘制为一种表面元素。你能做的是:

[X,Y] = size(matrix);
figure;
surface(1:X,1:Y,matrix);

这样做可以在X中尽可能为Ysurface索引创建一个向量。 XY索引是通过将它们设置为1:size的整数来获得的,所以基本上你将每个矩阵元素的位置分配给索引。

请注意,您也可以严格地使用surface(matrix),但前一种方法允许您使用自定义索引,只要向量XY的长度是与矩阵的大小相同。

对于waterfall使用:

figure;
waterfall(matrix);

示例代码:

A=rand(100);
figure;
waterfall(1:100,1:100,A);

给出:

waterfallplot

您可以使用name-value对进行游戏,请参阅documentation

答案 1 :(得分:0)

我认为您需要的是meshsurf而不是plot3

plot3在3d空间中绘制一条线,因此需要三个相同长度的矢量(每个维度一个)。

当你有一个矩阵时,一种合理的显示方式就是3d空间中的一个表面,它由函数meshsurf完成。 试试看!我希望我有所帮助!