我有一个100 x 100
矩阵,我必须在MATLAB环境中使用plot3
来绘制这些数据。我试过plot3(matrix name)
但是我遇到了这个错误“没有足够的输入参数”。我认为plot3
需要3个输入参数,但我只有这个数据矩阵。有谁能帮我解决这个问题?当我们没有足够的论据时,plot3
还有其他选择吗?
我需要一个这样的图表:
答案 0 :(得分:1)
我认为您想将图中的值绘制为一种表面元素。你能做的是:
[X,Y] = size(matrix);
figure;
surface(1:X,1:Y,matrix);
这样做可以在X
中尽可能为Y
和surface
索引创建一个向量。 X
和Y
索引是通过将它们设置为1:size
的整数来获得的,所以基本上你将每个矩阵元素的位置分配给索引。
请注意,您也可以严格地使用surface(matrix)
,但前一种方法允许您使用自定义索引,只要向量X
和Y
的长度是与矩阵的大小相同。
对于waterfall
使用:
figure;
waterfall(matrix);
示例代码:
A=rand(100);
figure;
waterfall(1:100,1:100,A);
给出:
您可以使用name-value
对进行游戏,请参阅documentation。
答案 1 :(得分:0)
我认为您需要的是mesh
或surf
而不是plot3
。
plot3
在3d空间中绘制一条线,因此需要三个相同长度的矢量(每个维度一个)。
当你有一个矩阵时,一种合理的显示方式就是3d空间中的一个表面,它由函数mesh
和surf
完成。
试试看!我希望我有所帮助!