作者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