PTT
Submit
Submit
选择语言
正體中文
简体中文
PTT
MATLAB
[讨论] 暂停后待符合条件继续执行
楼主:
fxxkjoe1231
(糟糕)
2019-08-15 23:05:51
版上各位好,小弟目前有只以matlab写成的主程式,
主要是制作.txt作为输入档案,并透过.bat去呼叫外部程式后输出新的档案,
之后再撷取新档案的内容。
所制作的输入档案会分成四类,分别存在input1~4的资料夹中。
待输入档案制作完后,会去呼叫一只.bat,.bat内主要是启动四只.exe_1~4,
用start的方式呼叫后同时启动并个别处理对应编号的输入资料夹内的档案,
并将输出档案放在output1~4的资料夹。
我主要的问题在于,因为输出档案的数目在不同个案情况下不同,
而四只.exe执行速度也不尽相同,有可能有一只才跑80%,而其他已经结束,
是否有办法在主程式中增加判断式,当输入与输出档案数量不同时,先暂停程序,
待全部.exe执行完毕,数量一致后再触发程式继续执行?
我目前的想法是,执行.bat后用while配合pause与特定秒数来反复检测档案数目
dos(.bat)...
while numel(dir(input))~=numel(dir(output))
pause(60)
end
fopen...
不知是否有更直观或是更有效率的写法?
谢谢大家
作者:
sunev
(Veritas)
2019-08-15 23:21:00
直接用system去call exe?
楼主:
fxxkjoe1231
(糟糕)
2019-08-15 23:28:00
这样的话变成matlab有没有类似start的指令可以同时多开.exe
作者:
sunev
(Veritas)
2019-08-16 00:07:00
所以你要同时执行四个exe ?那就照你现在的逻辑吧可改用exist或是isfile来check outfile产生了没有频率可以高一点,一秒check一次之类的
作者:
sppmg
(sppmg)
2019-08-17 00:29:00
batch(@system, … 再用 wait等。试试把 job object 存成cell / array,让 wait 一次等完。batch 可循环加入4个平行处理,不需你第一个 .bat 启动。
https://bit.ly/2KIQiiM
以前用 gnuplot 取代 MATLAB plot 画图的指令。
继续阅读
[讨论] 关于FFT转换加频率的问题
heizesun
[绘图] 存盘取消白底
bruce934
[讨论] [500P]帮跑个程式
CruxLaelaps
[讨论] GUI运行完程式就被关闭
oo855050
[5000P] 这个程式 我要每隔750次 储存一次 怎么写
GreenBeret
[绘图] 图中的散点依照角度分区并连线
kai83809
[请益]请问如何固定colorbar的颜色
ip915010
[问题] 如何叠合dicom影像与colormap
micky116
[讨论] 程式档位置和跑程式速度是否有关联?
Magicbears
[运算] Custom Fit有办法批次运算吗?
B05504021
Links
booklink
Contact Us: admin [ a t ] ucptt.com