看板 MATLAB 關於我們 聯絡資訊
各位大大,我是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
profyang:用for寫matlab應該是快不起來吧... 05/30 14:03
jatj:不一定的 滿足幾個條件for也是速度可以 05/30 14:09
jatj:詳細可以看Mastering Matlab 介紹 05/30 14:10
jatj:我有點忘了 變數先分配空間 不用eval 用內建函數等等 05/30 14:10
profyang:我記得是要盡量用他內建向量矩陣運算才會快...不然他就是 05/30 14:34
profyang:一行行去讀...不像他那些內建功能是已經complie好了的 05/30 14:34
math99:用向量寫法應該就行了 05/31 10:08
sunev:若要用平行運算,得用parfor 05/31 11:57
profyang:奇怪 我隨便試了下樓上的 有的會變快 有的慢到不知道在幹 05/31 12:56
profyang:麻= =" 05/31 12:56