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 就是一個...