2011-05-02 47 views
11

我在我的Matlab項目中使用了許多地方的tic-toc函數。輸出時間可以是331.5264 or 1234.754 seconds等。我可以輸出這是分鐘格式嗎?例如。 5 minutes and 30.6 seconds?謝謝!分鐘格式的MATLAB tic-toc結果

回答

20

所有你需要做的就是從toc捕獲輸出(而不是讓它顯示其默認輸出),然後創建自己使用的功能fprintffloor輸出,並rem

tStart = tic; 
% Do some things... 
tEnd = toc(tStart); 
fprintf('%d minutes and %f seconds\n', floor(tEnd/60), rem(tEnd,60)); 
+1

+1我不知道你可以控制一個toc引用的tic。 – 2011-05-02 20:07:33

+0

thanks..again gnovice! – Maddy 2011-05-02 20:38:16

4

儘管tic和toc沒有辦法以分鐘顯示數值,但可以在顯示數據之前稍微處理數據。查看下面的link以秒到小時/分鐘的轉換器。

使用情況如下:

tic 
% Do something 
time_str = SECS2HMS(toc) 
disp(time_str) 

我會嘗試了這一點,當我回來在我的Windows VM。希望這可以幫助。

編輯
您可以使用datestr並以下列方式建造到Matlab以及datenum功能。請注意,我沒有嘗試過這個代碼要麼,但鏈接提醒我如何做到這一點的語法(而不會彈出Matlab的)

tic 
%Do something 
t=toc; 
disp(datestr(datenum(0,0,0,0,0,t),'HH:MM:SS'))