Re: [問題]對矩陣每個元素取次方的計算速度已回收
用下面的code來實驗.^的運算速度
T=zeros(100,5);
A=ones(100,100);
ave=zeros(1,5);
A=7*A;
for i=1:100
t=zeros(1,4);
t(1)=cputime;
(((A.^2).^5).^2).^5;
t(1)=cputime-t(1);
t(2)=cputime;
(A.^10).^10;
t(2)=cputime-t(2);
t(3)=cputime;
(A.^50).*(A.^50);
t(3)=cputime-t(3);
t(4)=cputime;
(A.^25).*(A.^25).*(A.^25).*(A.^25);
t(4)=cputime-t(4);
t(5)=cputime;
A.^100;
t(5)=cputime-t(5);
T(i,:)=t;
ave=ave+t;
end
ave/100
ave/100 目的是看平均值
質因素 sqrt 二分相加 四分相加 原始情況 (這邊是指數的關係
100次平均 0.4206 0.4139 0.4214 0.8530 0.22194 單位:秒
從數據來看 似乎是直接使用.^100可以達到最快的速度
顯然跟原po的實驗結果有差異!!
這邊猜測跟CPU的運算數量和記憶體的大小有關
也可能是三維矩陣的運算和一般matrix的運算不同
實驗是用intel Q6600 2.5G
ram 4G
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.112.243.23
※ 編輯: rmbrick 來自: 140.112.243.23 (04/12 02:58)
討論串 (同標題文章)
以下文章回應了本文:
完整討論串 (本文為第 2 之 3 篇):
MATLAB 近期熱門文章
PTT數位生活區 即時熱門文章