在Matlab中绘制for循环内部的线

时间:2013-09-28 19:16:16

标签: matlab plot

我正在使用for循环来绘制以特定方式移动的粒子的“轨迹”。当我尝试在for-loop中绘制线条时,我只得到点。

这是我的代码:

a = [0];
b = [0];

for k = 1:10
    r = randn(1,2);
    a = a+r(1);
    b = b+r(2);
    k = k+1;

    plot(a,b,'-r')
    pause(1)
end

我在stackoverflow上已经阅读了有关此内容的其他问题,但这些答案对我不起作用。

1 个答案:

答案 0 :(得分:1)

你这里有一些错误。首先,这个:

for k = 1:10           <--------
    r = randn(1,2);
    a = a+r(1);
    b = b+r(2);
    k = k+1;           <--------

    plot(a,b,'-r')
    pause(1)
end

for语句已经增加k。没有必要手动完成。

其次,你基本上想要创建数组ab,然后绘制它们:

a = [0];
b = [0];
for k = 1:10
    r = randn(1,2);
    a = [a[1:end], a[end] + r(1)];
    b = [b[1:end], b[end] + r(2)];

end
plot(a,b,'-r')

这应绘制您的随机数组。