我只是想绘制一个函数。我使用标记,我想要与线连接的标记。但是,当我尝试在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)
这很有效。
我无法弄清楚原因。
答案 0 :(得分:0)
这是因为plot
对于向量和标量的行为不同。
如果您提供plot
标量(例如plot(2,3)
),则会显示该点。但是,如果你给它矢量(例如plot([1 2 3], [1 4 9])
,那么它绘制点并在它们之间画一条线。
要仅绘制点,可以使用绘图选项,例如plot([1 2 3], [1 4 9],'o')
。
要在循环中生成值时绘制点和线,我建议创建一个临时数组,以便在循环时将点存储在外面并将其绘制在外部。