Re: [討論] 如何不理輸出就繼續執行接下來的程式碼?

看板MATLAB作者 (請拒絕看各新聞台)時間12年前 (2013/10/15 10:09), 編輯推噓2(208)
留言10則, 4人參與, 最新討論串4/4 (看更多)
感謝您的回答 ※ 引述《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

10/15 11:17, , 1F
save扯到data I/O 只會慢不會快 還是建議把g向量化
10/15 11:17, 1F

10/15 11:19, , 2F
而且你這種寫法b要確認相應的a已經有了 又會增加程式碼
10/15 11:19, 2F

10/15 11:19, , 3F
可以用handshake, 或是script一直去確認等等
10/15 11:19, 3F

10/15 11:19, , 4F
也會增加程式overhead
10/15 11:19, 4F

10/15 11:20, , 5F
不過要是原本程式f g真的很花時間 可以試試看你的寫法
10/15 11:20, 5F

10/15 11:21, , 6F
windows的話可以開兩個matlab consol來跑 所以不成問題
10/15 11:21, 6F

10/15 14:43, , 7F
查查Parallel Computing Toolbox說明看有沒有符合你需要的功能
10/15 14:43, 7F

10/15 19:33, , 8F
向量化+1 迭代的東西不能用parfor
10/15 19:33, 8F

10/15 19:34, , 9F
不過如果你是要全部算完在算b的話 用parfor倒是OK
10/15 19:34, 9F

10/16 10:15, , 10F
感謝大家幫忙
10/16 10:15, 10F
文章代碼(AID): #1INAFfRF (MATLAB)
討論串 (同標題文章)
文章代碼(AID): #1INAFfRF (MATLAB)