我试图在一个循环中进行绘图,它只打印最后一个绘图。
我该如何解决?
我尝试在绘图定义后使用hold on
和drawnow
,但它不起作用。
这是我的代码:
for t=1:5
alive = Game(World , Generations, speed);
plot(hplot2,1:Generations,alive);
end
答案 0 :(得分:2)
hold on
应该有效。试试这个:
figure
hplot2=gca;
hold on
for t=1:5
alive = rand(1,Generations);
plot(hplot2,1:Generations,alive);
end
答案 1 :(得分:2)
坚持“数字”一直对我有用。
for t=1:5
alive = Game(World , Generations, speed);
figure;
plot(hplot2,1:Generations,alive);
end
答案 2 :(得分:1)
由于您已经将轴手柄传递给plot
,因此您只需在循环中添加pause(0.1)
之类的内容,原始来源就可以使用。
答案 3 :(得分:1)
您还可以使用figure(t)
来获得5个不同的数据。
答案 4 :(得分:0)
如果函数Game(World , Generations, speed)
是确定性函数 - 它为每个t
提供相同的输出。因此,每个plot
命令都完全相同的输出,您无法区分第一个和最后一个图。
在每次迭代时尝试plot
一个随机序列(如回答shoelzer),看看你是否看到了所有5个图。
此外,您可能希望使用hold all
而不是hold on
:这样每个地图都会获得与彩色地图不同的颜色。