如何绘制矩阵与矩阵

时间:2013-12-05 15:44:32

标签: matlab

我有两个3 x 4矩阵。我想制作一个2D图,但似乎无法正确绘制它。我被显示多行(但绘图应该是逐个元素)。

这是我的代码。有什么建议吗?

X=[1 2 5 7; 2 4 6 1; 2 5 6 2]
Y=X.^0.5

plot(X(:),Y(:));

修改 为了更清楚,我想在这里做的是情节X对Y.考虑到下面的例子,当

 X= element(0,0); Y=element(0,0). 

同样,

X= element(0,1); Y=element(0,1)

等等......使用这种方法,将使用这些值(逐个元素)绘制图形,我们将获得X对Y = X. ^ 0.5的2D线图。我希望这能澄清我在寻找的东西。

X =

 1     2     5     7
 2     4     6     1
 2     5     6     2

Y =

1.0000    1.4142    2.2361    2.6458
1.4142    2.0000    2.4495    1.0000
1.4142    2.2361    2.4495    1.4142

Plot(X(:), Y(:)) may not be the right command so I am basically looking for edits in this.

3 个答案:

答案 0 :(得分:4)

你在寻找散点图吗?

scatter(X(:), Y(:))

答案 1 :(得分:2)

如果您不想要任何行,则必须设置行规范。

plot(X(:),Y(:),'x');

答案 2 :(得分:0)

我认为Daniel和Eitan已经很好地回答了你的问题,但这里有一些替代方案。我想其中一个应该符合你的需求:

如果您只想要一行代表X vs X^0.5

X = linspace(0,7,100);
plot(X,X.^0.5)

或者,如果您只想要X的整数值并显示为散点图:

X = 0:7;
scatter(X, X.`0.5)

或者,如果你想绘制矩阵,逐个元素排序

plot(sort(X(:)),sort(Y(:)))

并作为散点图:

scatter(sort(X(:)),sort(Y(:)))

或者,如果你想逐个元素,就像Eitan和Danial所说:

scatter(X(:),Y(:))
plot(X(:),Y(:))

最后一行看起来像两行,但它实际上只是来回走动。