我有两个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.
答案 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(:))
最后一行看起来像两行,但它实际上只是来回走动。