Just My Life & My Work

工欲善其事,必先利其器,使得事半功倍!於是乎,跟其它程式語言一樣,我會想知道我的程式效能多好,所以就要使用計算執行時間 (Compute Time of Execution)的工具

Matlab的指令clock輸出1乘6的序列,其數值依序代表:年(西元)、月、日、時、分、秒。前五個是正整數,但秒是浮點數。可以用round(clock)取得全是整數值的答案。答案的準確性由您所用的電腦負責,因為Matlab是從作業系統那裡取得這些資料。

在MatLab上執行結果:

>>clock

ans =

1.0e+003 *

2.0120 0.0010 0.0090 0.0120 0.0260 0.0551

>>round(clock)

ans =

2012 1 9 12 26 55

就知道我在哪時候執行這兩個指令了!接下來進入正題~比起C語言還要寫好幾行程式碼(請見我寫的[C++] 計算程式執行時間 (Compute Time of Execution)),MatLab提供兩個指令來計算執行時間

  • tic將碼表歸零並開始計時。
  • toc停止碼表,並輸出以秒為單位的時間。

只需將想要測量的程式放在兩指令中包夾住,使用例子如下:

>>A=rand(1000,1000);
>>tic; B=inv(A); det(A)*det(B);, toc

Elapsed time is 1.631938 seconds.

包在tic和toc之間的計算指令[B=inv(A); det(A)*det(B);],就會計算其在本機執行的時間,計算結束後即輸出執行時間結果[Elapsed time is 1.631938 seconds.]。

參考:Matlab 導引:複雜度

隨意留個言吧:)~

這個網站採用 Akismet 服務減少垃圾留言。進一步了解 Akismet 如何處理網站訪客的留言資料

標籤雲