Matlab不会在for循环中添加标记行

时间:2015-03-11 00:44:07

标签: matlab plot

我只是想绘制一个函数。我使用标记,我想要与线连接的标记。但是,当我尝试在for循环中绘图时,Matlab不会在标记之间创建线条。当我将plot命令放出for循环时,它可以工作。

这是一个简单的例子:

y=0:10:100;

for j=1:1:11

x(1,j)=1/(y(1,j)+1);

plot(y(1,j),x(1,j),'-s','MarkerFaceColor','g','MarkerSize',6)

hold on;

end

这不起作用。


y=0:10:100;

for j=1:1:11

x(1,j)=1/(y(1,j)+1);

end

plot(y,x,'-s','MarkerFaceColor','g','MarkerSize',6)

这很有效。


我无法弄清楚原因。

1 个答案:

答案 0 :(得分:0)

这是因为plot对于向量和标量的行为不同。

如果您提供plot标量(例如plot(2,3)),则会显示该点。但是,如果你给它矢量(例如plot([1 2 3], [1 4 9]),那么它绘制点并在它们之间画一条线。 要仅绘制点,可以使用绘图选项,例如plot([1 2 3], [1 4 9],'o')

要在循环中生成值时绘制点和线,我建议创建一个临时数组,以便在循环时将点存储在外面并将其绘制在外部。