2017-02-20 18 views
1

MatlabのDRAWNOWに関する質問に私を助けてもらえますか?私たちは、MATLABでdrawnowを使用する場合Drawnow on Matlab:図を格納するか、変数を格納しますか?

、何が内側になりますか?

それは前グラフの図形を記憶し、同図に次部分のグラフをプロット?

または前のグラフ全体を忘れて実際のグラフ(前と次の両方の部分を含む)をプロットしますか? 動的グラフ

ザ両方の方法は、同一の効果を示します。しかし、私は内部で何が起こるかを正確に知りたい。

ありがとうございました!

答えて

6

drawnowは、MATLABは、そのがやって何でもやって、画面に描画を停止することを確認します。

あなたは

hold on 
for ii=1:1000 
    plot(ii,rand(1)); % assume complicated maths here 
end 

をすればMATLABは、コードを実行し、グラフィックスエンジンにplot通話を送信します。しかし、コードがプロットよりも優先順位が高いため、MATLABは描画を行うためにループを実行するのに忙しいです。

あなたが次に

hold on 
for ii=1:1000 
    plot(ii,rand(1)); 
    drawnow; % Take a break, draw everything that you must before continuing 
end 

を行う場合は、コメントが言うように、あなたは一時的に、コードの実行を停止グラフィックスパイプラインのすべてを描くようにして、コードの実行を継続します。

drawnowは、数字が格納されているかどうかに影響を与えません。つまり、hold onのジョブです。

全体を再描画することを心配している場合は、setgetのグラフィックスの方法を確認してください。それらを使用すると、グラフィックスエンジンは何かを再計算/再描画しないことを確実にすることによって、再びsetそれを、xdataget、それを変更し、することができます。 hold関数の


ドキュメント:あなたの迅速サポートのための

https://uk.mathworks.com/help/matlab/ref/hold.html

+0

感謝。 –

+0

@ThienNhatようこそ。それがあなたを助けた場合にasnwerを有効として受け入れることを検討してください。 –

+1

あなたの答えを見るのに時間がかかるはずです。ありがとうございました。 –