進捗報告テキストのリアルタイム表示
20 views (last 30 days)
Show older comments
コマンドウィンドウにdispで表示させる以外での,プログラムの進捗具合を文章で報告する方法を探しています.
私は普段,
clc
disp('PartA......')
clc
disp('PartB......')
clc
disp('PartC......')
のように数秒では終わらないプログラムの進捗を確かめるためにコマンドウィンドウに表示させていますが,わけあってこれとは違う方法を探しています.可能であるならば,もう一つの文章を表示させる第二のコマンドウィンドウを作り,そこにdispさせるのが理想ですが,手段がありません.
簡単に思いつく最も愚直な方法は,figureを作成しclfした後textで文章を表示,drawnowで更新ですが,少々芸に欠けると思います.
diaryなどで.txtに書き込むようにし,予めそのテキストファイルを開いたままプログラムを実行しても,ファイルは逐次更新されず,開いた時点のままです.
なにかスマートな解決策はありませんか?
0 Comments
Accepted Answer
Hernia Baby
on 20 Oct 2022
waitbar をお使いください。
f = waitbar(0,'Please wait...');
pause(.5)
waitbar(.33,f,'Loading your data');
pause(1)
waitbar(.67,f,'Processing your data');
pause(1)
waitbar(1,f,'Finishing');
pause(1)
close(f)
2 Comments
Atsushi Ueno
on 20 Oct 2022
Moved: Atsushi Ueno
on 20 Oct 2022
fig = uifigure;
d = uiprogressdlg(fig,'Icon','membrane.png');
d.Title = '進捗報告テキストのリアルタイム表示';
d.Message = '進捗具合を文章で報告する方法を探しています';
d.Cancelable = "on"; % キャンセルボタン表示
d.Indeterminate = "on"; % 不確定型進行状況
pause(5);
d.Indeterminate = "off";
d.Value = .25; d.Message = 'PartA......'; pause(1);
d.Value = .50; d.Message = 'PartB......'; pause(1);
d.Value = .75; d.Message = 'PartC......'; pause(1);
d.Value = 1; d.Message = 'uiprogressdlg関数!'; pause(3);
close(d); close(fig);
Atsushi Ueno
on 20 Oct 2022
% > App Designer 内および関数 uifigure で作成されたアプリ内では、
% > waitbar よりも uiprogressdlg の方が、追加のカスタマイズ オプションを使用できるため推奨されます。
More Answers (0)
See Also
Categories
Find more on uifigure ベースのアプリ in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!