matlab中同程式的cputime執行幾次時間怎麼會都

2022-01-19 21:31:58 字數 2791 閱讀 3714

1樓:匿名使用者

那個程式你應該貼出來才知道為何無規律。

正常來說,每次結果應該都一樣,除非你的資料來源有rand或類似的存在。

還有,是clear all.不是clear.

****************************************=

原來是這樣的問題啊!

你真行,不過探求問題的真正原因也是研究精神。

這個cputime當然不可能是一樣的啦!因為,你執行一個程式,如果這個程式在cache中,那麼執行速度就會很快,如果你的程式是在記憶體中,那麼這個速度就會相對比較慢。

你的上面程式相對較短,所以有變化,有時可能是幾百倍,這也正常。但對於運算量比較大的程式(例如:30s的程式),相對來說變化不會很大。

即可能是30.2s也可能是29.7s,但不會幾百倍的差距。

因此,短的運算程式一般計算時間沒有意義,因為受os排程策略影響,只有計算時間長的程式,獲取運算時間才有意義。

matlab中同一個程式的cputime執行幾次時間怎麼會都不一樣呢?我該怎麼確定程式正真的cputime呢?

2樓:匿名使用者

那個程式你應該貼出來才知道為何無規律。

正常來說,每次結果應該都一樣,除非你的資料來源有rand或類似的存在。

還有,是clear all.不是clear.

****************************************=

原來是這樣的問題啊!

你真行,不過探求問題的真正原因也是研究精神。

這個cputime當然不可能是一樣的啦!因為,你執行一個程式,如果這個程式在cache中,那麼執行速度就會很快,如果你的程式是在記憶體中,那麼這個速度就會相對比較慢。

你的上面程式相對較短,所以有變化,有時可能是幾百倍,這也正常。但對於運算量比較大的程式(例如:30s的程式),相對來說變化不會很大。

即可能是30.2s也可能是29.7s,但不會幾百倍的差距。

因此,短的運算程式一般計算時間沒有意義,因為受os排程策略影響,只有計算時間長的程式,獲取運算時間才有意義。

3樓:天空與飛鳥

程式前加個clear, 避免前次執行的變數結果對下次執行產生影響;

還與記憶體空間的狀態變化有關,

matlab中用cputime計算的時間和實際時間不一樣怎麼回事?

4樓:星河

執行一個程式,如果這個程式在cache中,那麼執行速度就會很快,如果你的程式是在記憶體中,那麼這個速度就會相對比較慢。因此,短的運算程式一般計算時間沒有意義,因為受os排程策略影響,只有計算時間長的程式,獲取運算時間才有意義。

1. cputime函式

t1=cputime;

t2=cputime;

t=t2-t1

t1是在程式執行前儲存當時的cpu時間,t2是在程式執行結束後再獲取一個cpu時間,它們的差值就是程式的執行時間。

2. clock + etime

cputime函式方法雖然可行,但要注意單位不一定是秒,只是一個cpu執行時間單位。clock + etime的方法可以解決這個問題。

clock函式可以呼叫windows系統的時鐘獲取當前時刻,etime函式則可以計算兩個時刻的差值。使用格式如下:

t1=clock;

t2=clock;

t=etime(t2,t1)

3.tic/toc方法。

使用格式如下:

tic-toc

如何檢視matlab 計算時間

5樓:du瓶邪

matlab中提供了以下三種方法:

1.cputime(單位不明)

返回matlab啟動以來的cpu時間,可以在程式執行錢儲存當時的cpu時間,然後在程式執行結束後用cputime減去執行前儲存的數值,就可以獲取程式的實際執行時間

>>t0=cputime;pause(3);timecost=cputime-t0

2.tic/toc(單位s)

tic用在程式的開始,作用是啟動一個計時器,然後在程式尾部放一個toc,表示終止計時器,並返回tic啟動以來的總時s間

3.etime(單位s)

etime(t1,t2)用來計算兩個日期向量t1和t2之間的時間差,結合前面講到的clock函式也可以用來確定程式**的執行時間

>>t0=clock;pause(3);timecost=etime(clock,t0)

6樓:匿名使用者

在你要檢視的開始位置加

tic在結束位置加

toc執行後在命令視窗顯示時間

7樓:匿名使用者

用命令tic;

.....

.....

toc....代表你寫的程式

matlab中用cputime計算的時間和實際時間不一樣,比如cputime計算出來的時間為58,單實際時間為28s? 5

8樓:我行我素

你是咋計算實際 時間的?演算法一樣嗎?最好把原程式帖出來看看。

9樓:南冥未央

matlab自帶計時方法有三種:

1、cputime

2 、tic/toc

3 、etime

你如果說要與實際實際一致的話 應該用第二種 tic ...toc 它計算的是兩個符號之間花的時間單位是s!!!

而cputime之所有和你實際實際不一致,很簡單,因為它的單位不是s

MATLAB的下列程式中domain是什麼意思,它是怎麼用的?能否將程式講解一下?謝謝

domain這裡只是一個矩陣 copy的識別符號,bai在nargin 1時預設為 0,200 if size domain,2 2 如果domain的列數等於2 domain repmat domain,1,3 那麼du將zhidomain做1 3的複製操作,即 domain domain dom...

matlab題目,要具體程式。考試中,急用

1.解出單來引數的解析形式 a dsolve dp1 40 p1 v dp2 40 p1 v 40 p2 v 答案為 a.p1 ans 2 c6 exp 40 t v a.p2 c5 exp 40 t v c6 exp 40 t v 將源p1 0 10c,p2 0 20c帶入,解出c5 5c,c6 ...

matlab程式中如何在m檔案中定義m n級矩陣

a zeros m,n 就是一個全零的mxn的矩陣了 a ones m,n 就是一個全1的mxn矩陣。a rand m,n 就是一個隨機數的mxn矩陣還有很多專 如果你想要其他屬矩陣,可以用這幾個函式組合一下。比如我要全部為2.5的矩陣 a 2.5 ones m,n a zeros m,n 就是一個...