看板 MATLAB 關於我們 聯絡資訊
感謝您的回答 ※ 引述《jatj ()》之銘言: : 我想你的意思是算a(i)的時候也可以同時算b(i-1); 是的 這就是我的意思 : 可是很遺憾這樣的寫法並不行 因為MATLAB會等到這行算完才算下一行 是的 程式一定是一行一行來 我的問題是這樣的 有沒有可能做到以下的事情: 1 for i = 2:n 2 a(i) = f(a(i-1)); 3 save(['tempData' num2str(i)],'a','i'); 4 5 end 有沒有可能在第4行處加入幾行程式碼 讓程式再開一個matlab出來並執行某個我已預寫好的script讓g去讀tempData計算b 而原本的迴圈則認定第4行工作已結束繼續算下去 謝謝大家 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.122.140.200
jatj:save扯到data I/O 只會慢不會快 還是建議把g向量化 10/15 11:17
jatj:而且你這種寫法b要確認相應的a已經有了 又會增加程式碼 10/15 11:19
jatj:可以用handshake, 或是script一直去確認等等 10/15 11:19
jatj:也會增加程式overhead 10/15 11:19
jatj:不過要是原本程式f g真的很花時間 可以試試看你的寫法 10/15 11:20
jatj:windows的話可以開兩個matlab consol來跑 所以不成問題 10/15 11:21
H45:查查Parallel Computing Toolbox說明看有沒有符合你需要的功能 10/15 14:43
kurt28:向量化+1 迭代的東西不能用parfor 10/15 19:33
kurt28:不過如果你是要全部算完在算b的話 用parfor倒是OK 10/15 19:34
smarter1004:感謝大家幫忙 10/16 10:15