Matlab 監測程式執行的狀態條(progress Bar)
處理大量資料時,當程式需要一定的時間去讀取資料跟計算資料時,有一個狀態bar能夠顯示目前的程式進展的進度,其實還蠻方便的。
這邊會使用到的function是"waitbar"
f = waitbar(x,msg)
waitbar這個指令會回傳一個圖形物件並傳給參數"f";"x"是小於1的整數,會用來顯示bar的進度百分比;"msg"則是要顯示在圖形物件上的資訊,其格式可以是字串或character。
waitbar(x,f,msg)
這個指令多了一個輸入參數"f",表示要更新的圖形物件是哪個,其他"x"跟"msg"的功能就跟上面講的一樣!
下面的範例,假設程式總共分成四個部分:
- 讀檔
- 計算資料
- 畫圖
- 存檔
function MyWaitbar
FileNumber=10;
f = waitbar(0,'Load data!');
for i=1:FileNumber
waitbar( 0+(i/FileNumber)*0.25, f, [ 'Load files ' num2str(i) '/' num2str(FileNumber) ]);
pause(.5);
end
waitbar(.5,f,'Calculating data');
pause(1)
waitbar(.75,f,'Plotting');
pause(1)
waitbar(1,f,'Saving files');
pause(1)
close(f)
end
下面就是程是跑出來的圖囉!
留言
張貼留言