Re: [問題]對矩陣每個元素取次方的計算速度已回收

看板MATLAB作者 (找人下棋....)時間16年前 (2009/04/12 02:50), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串2/3 (看更多)
用下面的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)
文章代碼(AID): #19uEQ1e4 (MATLAB)
文章代碼(AID): #19uEQ1e4 (MATLAB)