1

我试图在循环内进行绘图,它只打印最后一个绘图。

我该如何解决?

我尝试在情节定义之后使用hold onand drawnow,但它没有用。

这是我的代码:

for t=1:5
  alive = Game(World , Generations, speed);
  plot(hplot2,1:Generations,alive);
end
4

5 回答 5

2

坚持“形象”一直对我有用。

for t=1:5
    alive = Game(World , Generations, speed);
    figure;
    plot(hplot2,1:Generations,alive);
end
于 2013-01-19T02:01:16.280 回答
2

hold on应该管用。尝试这个:

figure
hplot2=gca;
hold on
for t=1:5
    alive = rand(1,Generations);
    plot(hplot2,1:Generations,alive);
end
于 2013-01-18T20:45:33.377 回答
1

由于您已经将轴句柄传递给plot,因此您只需要pause(0.1)在循环中放置类似的内容,您的原始来源就可以使用。

于 2013-01-19T03:48:10.640 回答
1

您还可以使用figure(t)5 个不同的数字。

于 2013-01-20T14:48:19.177 回答
0

如果函数Game(World , Generations, speed)是确定性函数 - 它为每个t. 因此,每个plot命令都具有完全相同的输出,您无法区分第一个和最后一个图。

在每次迭代时尝试plot一个随机序列(如 shoelzer 的回答),看看你是否看到所有 5 个图。

此外,您可能希望使用hold all而不是hold on: 这样每个图都会从颜色图中获得不同的颜色。

于 2013-01-20T15:53:09.583 回答