作者smarter1004 (請拒絕看各新聞台)
看板MATLAB
標題Re: [討論] 如何不理輸出就繼續執行接下來的程式碼?
時間Tue Oct 15 10:09:43 2013
感謝您的回答
※ 引述《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
1F:→ jatj:save扯到data I/O 只會慢不會快 還是建議把g向量化 10/15 11:17
2F:→ jatj:而且你這種寫法b要確認相應的a已經有了 又會增加程式碼 10/15 11:19
3F:→ jatj:可以用handshake, 或是script一直去確認等等 10/15 11:19
4F:→ jatj:也會增加程式overhead 10/15 11:19
5F:→ jatj:不過要是原本程式f g真的很花時間 可以試試看你的寫法 10/15 11:20
6F:→ jatj:windows的話可以開兩個matlab consol來跑 所以不成問題 10/15 11:21
7F:推 H45:查查Parallel Computing Toolbox說明看有沒有符合你需要的功能 10/15 14:43
8F:推 kurt28:向量化+1 迭代的東西不能用parfor 10/15 19:33
9F:→ kurt28:不過如果你是要全部算完在算b的話 用parfor倒是OK 10/15 19:34
10F:→ smarter1004:感謝大家幫忙 10/16 10:15