進捗報告テキストのリアルタイム表示
19 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
junya ishii
am 20 Okt. 2022
Verschoben: Atsushi Ueno
am 20 Okt. 2022
コマンドウィンドウにdispで表示させる以外での,プログラムの進捗具合を文章で報告する方法を探しています.
私は普段,
clc
disp('PartA......')
clc
disp('PartB......')
clc
disp('PartC......')
のように数秒では終わらないプログラムの進捗を確かめるためにコマンドウィンドウに表示させていますが,わけあってこれとは違う方法を探しています.可能であるならば,もう一つの文章を表示させる第二のコマンドウィンドウを作り,そこにdispさせるのが理想ですが,手段がありません.
簡単に思いつく最も愚直な方法は,figureを作成しclfした後textで文章を表示,drawnowで更新ですが,少々芸に欠けると思います.
diaryなどで.txtに書き込むようにし,予めそのテキストファイルを開いたままプログラムを実行しても,ファイルは逐次更新されず,開いた時点のままです.
なにかスマートな解決策はありませんか?
0 Kommentare
Akzeptierte Antwort
Hernia Baby
am 20 Okt. 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 Kommentare
Atsushi Ueno
am 20 Okt. 2022
Verschoben: Atsushi Ueno
am 20 Okt. 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
am 20 Okt. 2022
% > App Designer 内および関数 uifigure で作成されたアプリ内では、
% > waitbar よりも uiprogressdlg の方が、追加のカスタマイズ オプションを使用できるため推奨されます。
Weitere Antworten (0)
Siehe auch
Kategorien
Mehr zu uifigure ベースのアプリ finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!