1

ループ内でプロットを実行しようとしましたが、最後のプロットのみが出力されます。

どうすれば修正できますか?

プロット定義の後に使用しようとしましhold ondrawnowが、機能しませんでした。

これは私のコードです:

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

5 に答える 5

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 に答える
2

「図」にこだわるのはいつも私のために働いてきました。

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

すでにAxesハンドルをに渡しているので、ループ内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コマンドの出力はまったく同じであり、最初のプロットと最後のプロットを区別することはできません。

(shoelzerの回答のように)各反復でランダムな系列を試してplot、5つのプロットすべてが表示されるかどうかを確認します。

さらに、次hold allの代わりに使用することもできますhold on。この方法では、各プロットがカラーマップから異なる色を取得します。

于 2013-01-20T15:53:09.583 に答える