2013-09-28 71 views
0

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

这是我的代码:

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 

我在这里计算器阅读等问题,关于这个,但这些问题的答案并不为我工作。

回答

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') 

这应该绘制你的随机排列。