Matlab 監測程式執行的狀態條(progress Bar)



處理大量資料時,當程式需要一定的時間去讀取資料跟計算資料時,有一個狀態bar能夠顯示目前的程式進展的進度,其實還蠻方便的。

這邊會使用到的function是"waitbar"

f = waitbar(x,msg)
waitbar這個指令會回傳一個圖形物件並傳給參數"f";"x"是小於1的整數,會用來顯示bar的進度百分比;"msg"則是要顯示在圖形物件上的資訊,其格式可以是字串或character。

waitbar(x,f,msg)
這個指令多了一個輸入參數"f",表示要更新的圖形物件是哪個,其他"x"跟"msg"的功能就跟上面講的一樣!

下面的範例,假設程式總共分成四個部分:
  1. 讀檔
  2. 計算資料
  3. 畫圖
  4. 存檔

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

下面就是程是跑出來的圖囉!






留言

這個網誌中的熱門文章

[理財/記帳]google表單結合iphone捷徑 自製記帳app

[理財/記帳]利用google表單記帳雲端化 - 免費模板下載@ Mimi's learning notes

[Excel]年份週數換算成月份