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