關(guān)于matlab程序運行時間計算方法的思考_第1頁
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、關(guān)于matlab程序運行時間計算方法的思考 簡介:在中,為了驗證比較兩個算法挺直的效率,我們經(jīng)常需要計算某段程序的運行時光,而常用的也就是三種辦法: 1、tic和toc指令對;格式如下面一段程序。tic;a=0;for i1=1:100000for j1=1:10000a=a+1;endendtoc;tic指令表示開啟一個matlab的計時器,toc則表示停止之前與之對應(yīng)的tic開啟的計時器,并得到最后的計時結(jié)果,上一段程序結(jié)果如下:elapsed time is 3.720372 seconds.2、clock加etime函數(shù);程序結(jié)構(gòu)如下面一段。t1=clock;b=0;for i2=1:

2、100000for j2=1:10000b=b+1;endendt2=clock;etime(t2,t1)其中,clock指令是獵取系統(tǒng)的時光矢量,而etime函數(shù)則是計算兩個時光矢量之間的差并以秒單位形式表示。clock作為時光矢量包含了年代日時分秒六個參數(shù),如在matlab單獨執(zhí)行這一指令可得到:>> clockans =1.0e+003 *2.0120 0.0080 0.0180 0.0140 0.0180 0.05073、cputime指令計算運行時光;m1=cputime;c=0;for i3=1:100000for j3=1:10000c=c+1;endendm2=cp

3、utime;m=m2-m1cputime指令是獵取matlab自啟動后所占用cpu的運行時光,這里需要具體介紹下,cputime不是代表matlab的運行時光,而是指matlab占用cpu的時光。大家知道,window系統(tǒng)的多進程管理類似于我們所說的時分復(fù)用概念,即cpu完成多進程是通過時光劃分來實現(xiàn)的,這一時刻運行的是進程一,下一時刻運行的是進程二,因為速度十分快,所以對于用戶來說看起來就是同時運行的。我們可以做個實驗,在一打開matlab的時候,執(zhí)行cputime指令得到:>> cputimeans =13.1197解釋我們matlab打開用了13秒多的時光,大家可以自我感覺下

4、是不是這個時光。既然也許的原理我們知道了就可以來比較比較這三者的區(qū)分。首先,tic和toc的辦法是最優(yōu)的,這也是matlab協(xié)助中倡導(dǎo)的一種。從精度上來說,第一種辦法精度最高,因為是matlab自身的計時器,精度上要比后兩者高,第二是cputime,最低的是clock惟獨毫秒級的精度。再者,從最臨近實際運行時光上來說,也是第一種辦法最為臨近,這點我們認真分析下。我們知道,想得到某段程序在matlab中運行的時光,目的是在于對該程序所實現(xiàn)的算法在實際電路中處理的時光有個也許的估量與比較,所以我們最想要的是它在cpu運行的時光。這一點其次種辦法則不太適合了,由于它采納的是系統(tǒng)時光作為計算參數(shù),在這個時光內(nèi)絕對還有著別的后臺運行程序等。而對于第三種辦法,cputime所對應(yīng)的測量對象是matlab囫圇程序,而并不是對于我們所測量的這段程序而言(matlab也可以看做是一個編譯器,對我們編寫的m代碼舉行編譯,所以它還需要舉行著別的操作)。再看看我們的第一種matlab推舉的辦法,tic是啟動一個matlab內(nèi)部的計時器,所以說它也是一種基于cpu時光的計時,而且更重要的是,計時開頭的時光是我們設(shè)定在代碼前的,可以說tic和toc中間對于matlab來說,大部分時光就是運行這段代碼,所以時光上是最臨近實際在電路中運行的時光的。關(guān)于

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論