我有以下問題:如何告訴Matlab它不應該等待函數的結果?除了線程還有其他方法嗎?讓Matlab繼續而不等待結果
我的問題:我有一個函數A,每隔幾秒由一個Timer調用。如果滿足特定事件,則在功能A中調用另一個功能B.功能B打開一個批處理文件。 我希望函數A繼續而不等待函數B結束。有沒有辦法輕鬆做到這一點?
對不起,如果這個問題已經被問到,但我找不到滿意的答案。請原諒我的英文不好。
我想感謝所有回答他們幫助的人。
我有以下問題:如何告訴Matlab它不應該等待函數的結果?除了線程還有其他方法嗎?讓Matlab繼續而不等待結果
我的問題:我有一個函數A,每隔幾秒由一個Timer調用。如果滿足特定事件,則在功能A中調用另一個功能B.功能B打開一個批處理文件。 我希望函數A繼續而不等待函數B結束。有沒有辦法輕鬆做到這一點?
對不起,如果這個問題已經被問到,但我找不到滿意的答案。請原諒我的英文不好。
我想感謝所有回答他們幫助的人。
在你的函數B中,只需在該行的最後調用帶有&
的批處理文件即可。
例如:
!mybatch.bat &
這將在後臺運行模式下的文件mybatch.bat
和呼叫後,立即返回執行Matlab的。
,或者您更完整的形式:
[status, result] = system('mybatch.bat &')
但在這種情況下,它是一個有點用處,因爲系統調用mybatch
的背景下,result
變量始終是空的,status
總是0
(文件是否mybatch.bat
被發現並執行與否)
編輯:這是在的情況下快速把戲它僅是放緩道指批處理文件執行你的節目。
如果你在函數B中有更多的matlab指令,並且你真的需要函數A繼續等待,那麼你將不得不建立一個包含函數B的偵聽器對象作爲回調函數。然後在你的函數A中,觸發事件(這將激活監聽器和調用函數B)。