對於我正在開發的項目,我正在準備MATLAB數據,然後通過一個名爲Model v2.exe
的獨立外部應用程序(用C++編寫)運行數據,然後使用在MATLAB中輸出。我正在嘗試創建一個能夠完成所有這些工作的M文件,但我正努力從我的MATLAB代碼中啓動C++程序。從m.file運行C++程序
如何從我的MATLAB代碼中啓動外部應用程序?
對於我正在開發的項目,我正在準備MATLAB數據,然後通過一個名爲Model v2.exe
的獨立外部應用程序(用C++編寫)運行數據,然後使用在MATLAB中輸出。我正在嘗試創建一個能夠完成所有這些工作的M文件,但我正努力從我的MATLAB代碼中啓動C++程序。從m.file運行C++程序
如何從我的MATLAB代碼中啓動外部應用程序?
您可以使用!
運算符或system()
命令。
首先,將您的應用程序重命名爲名稱中沒有空格的內容,例如modelv2.exe
。接下來,請確保它位於系統環境變量所定義的系統路徑中,或者生成完整路徑(例如:C:\Users\Phil\Desktop\modelv2.exe
)。
!modelv2
或:
您可以使用感嘆號或系統命令調用命令行的可執行程序
!C:\Users\Phil\Desktop\modelv2.exe
會導致Windows執行程序,如果用hello.exe在當前目錄或系統路徑中有這樣一個文件。或者:
system('modelv2');
或
system('C:\Users\Phil\Desktop\modelv2.exe');
會做同樣的事情。
參考
<http://www.mathworks.com/matlabcentral/answers/11568-call-and-run-an-external-program-in-matlab-under-windows>
感謝Dogbert,很有幫助。 – user3302244
如果外部程序需要輸入參數會發生什麼情況?那麼怎麼做呢? – Hec46
@ Hec46 https://www.mathworks.com/matlabcentral/newsreader/view_thread/236511 – DevNull
只是猜測:如果外部C++應用程序也是你自己的,你也可以將它建立爲共享庫並直接從matlab中調用它。這比發出'system()'調用要少得多。 – sebastian