作者tenderness0l (阿正)
看板MATLAB
標題[討論] 各位大大,平行運算?
時間Thu May 30 13:54:54 2013
各位大大,我是MATLAB的初學者。
最近想嘗試寫出一個簡易的平行運算,
思考方向是有個迴圈中含有:
for i = 1 : N-1
N=50 我假設是50期
(中間運算程式含有一些簡易的參數)
在這目前我沒問題。
但是我想針對迴圈中的參數做改變,
想將其中一個參數"tau"由原本為一定值,
改為1*10的。
簡白些就是,原本這回圈跑50次
裡面的tau是等於一個定值0.3。
現在我想要測試當tau是變動的,
可能是0.1 0.2 0.3 0.4 0.5 ... 0.9
那要怎麼讓迴圈裡面的tau個別帶入上面的這些值呢?
我下意識的想到是"平行運算"...
但對整個程式的架構上,我想不出要怎麼去寫。
可以給我一個簡單的例子嗎?
謝謝您~
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 120.110.74.219
1F:推 profyang:用for寫matlab應該是快不起來吧... 05/30 14:03
2F:→ jatj:不一定的 滿足幾個條件for也是速度可以 05/30 14:09
3F:→ jatj:詳細可以看Mastering Matlab 介紹 05/30 14:10
4F:→ jatj:我有點忘了 變數先分配空間 不用eval 用內建函數等等 05/30 14:10
5F:推 profyang:我記得是要盡量用他內建向量矩陣運算才會快...不然他就是 05/30 14:34
6F:→ profyang:一行行去讀...不像他那些內建功能是已經complie好了的 05/30 14:34
7F:→ math99:用向量寫法應該就行了 05/31 10:08
8F:推 sunev:若要用平行運算,得用parfor 05/31 11:57
9F:推 profyang:奇怪 我隨便試了下樓上的 有的會變快 有的慢到不知道在幹 05/31 12:56
10F:→ profyang:麻= =" 05/31 12:56