2016-02-28 200 views
0

我想在不同的文件上運行一個函數;我想用Bash-Like腳本來做到這一點。當我看着網絡時,我發現我可以使用.bat文件。使用.bat文件在Windows上逐個運行Matlab命令

我.bat文件包含此

matlab -bodesktop -nosplash -r myFunction('input_1.txt') 
matlab -bodesktop -nosplash -r myFunction('input_2.txt') 
matlab -bodesktop -nosplash -r myFunction('input_3.txt') 
matlab -bodesktop -nosplash -r myFunction('input_4.txt') 
matlab -bodesktop -nosplash -r myFunction('input_5.txt') 

當我雙擊該文件,似乎這些命令並行,其中,使得PC崩潰運行。

我看着Matlab的論壇的替代解決方案,但不能跟我

工作的另一種選擇,我發現:

start -wait matlab -bodesktop -nosplash -r "myFunction('input_1.txt');exit" 
.. 

任何人使用此之前?

+0

除了所有的東西外,我很肯定它應該拼寫'-nosplash'。 –

+1

[你必須使用matlab的-wait選項](http://stackoverflow.com/a/22307518/2732801)。 – Daniel

+0

沒有工作Daniel,我正在使用Windows – user3378649

回答

-2

首先檢查您是否有拼寫正確的選項。 Click here for the options.

試試這個:

matlab -wait -nodesktop -nosplash -r "myFunction('input_1.txt')"

編輯:

默認情況下,當您從一個腳本中調用MATLAB命令,命令啓動MATLAB,然後立即執行腳本的下一個語句。 -wait選項暫停腳本,直到MATLAB終止。

在啓動腳本中使用-wait選項來處理來自MATLAB的結果。使用此選項調用MATLAB將阻止腳本繼續執行,直到生成結果。

+1

雖然此答案可能包含正確的代碼,但它不能解釋問題。 – Daniel

1

有兩個matlab二進制文件,其中一個matlabroot/bin另一個在matlabroot/bin/win64/。第一個只是一個啓動應用程序,一旦主應用程序成功啓動,它通常會終止。要保持打開狀態直到主應用程序終止,您必須使用-wait選項和您的matlab.exe(不要與start -wait選項混淆,bot可以一起使用)。

在你的情況下可以嘗試:

matlab -wait -nodesktop -nosplash -r myFunction('input_1.txt') 

(我假設你打算使用 「nodesktop」)。

窗口的所有啓動參數都被解釋爲here in the documentation。 (你必須點擊「option1 ... optionN」展開相關部分。)

相關問題