figure をコンスタントに更新する GUI を作成するにはどのようにしますか?

8 views (last 30 days)
MathWorks Support Team
MathWorks Support Team on 14 Dec 2010
figure をある時間間隔でコンスタントに更新していく GUI を作成したいのですが、どのようにすれば良いか教えて下さい。

Accepted Answer

MathWorks Support Team
MathWorks Support Team on 24 May 2018
Edited: MathWorks Support Team on 24 May 2018
本回答上部からダウンロードできるサンプルにて 2 つの実現方法を紹介します。ダウンロードした GUI を起動するには、それぞれの MATLAB ファイル(".m" のファイル)を実行します。
両方の GUI において、 "Start" ボタンを押すことで、axes 上にランダムなラインが繰り返しプロットされます。 "Stop" ボタンを押すと、このプロセスを停止します。 1 つ目の GUI は可能な限り早く更新し、 2 つ目の GUI は固定時間間隔でゆっくりと表示を更新します。
ケース1: updating_example1
この GUI は、プロットを実行するために、 "Start" ボタンのコールバックに無制限に実行されるループを記述しています。ループ中の記述が実行されるたび、新たなラインが axes にプロットされます。
このループを Break するには、 "Stop" ボタンのコールバックの割り込みによって設定される handles 構造体のフラグを介して行います。ループ中に DRAWNOW コマンドを記述し、適切に "Interruptible" プロパティ設定をすることが、割り込みの許可に必要であり、描画イベントの処理を認めます。
ケース2: updating_example2
この GUI は TIMER オブジェクトを使い、 "TimerFcn" コールバックが表示処理を行います。 "Start" と "Stop" ボタンはタイマの開始、停止をします。
両方の GUI において、考慮すべきいくつかの事柄が下記のようにあります。
1. figure の GUI データはローカルの "handles" 構造体で同期しないので、同期するように戻すため、 GUIDATA 関数を策略的に使う必要があります。
2. "Start" 、"Stop" ボタンを続けて 2 回押される可能性を考慮しなければなりません。
3. ループ、タイマの更新の実行中に figure が閉じられる可能性を考慮しなければなりません。
それぞれの GUI プログラムファイル中では、これらの問題をどのように取り扱っているかを、コメント文で説明しています。

More Answers (0)

Tags

No tags entered yet.

Products

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!