2014-01-09 31 views
0

我試圖啓動Matlab和運行使用Windows任務計劃安排在某一特定時間的腳本調度運行的腳本。Matlab的失敗時,任務計劃程序

如果我使用一個計劃任務,我可以看到Matlab的起點,但是這最後無法加載腳本,並返回我下面

??? Unexpected Matlab operator. 

錯誤你知道它是什麼,爲什麼?

我使用下面的語法

c:\app\matlab\bin\matlab.exe -r c:\MyURL\ScriptFile.m 

如果我手動加載腳本並運行它,它告訴我,該文件不是通路,以便給MS

  • 變化之間的選擇當前目錄
  • 將文件夾添加到Path

無論哪種選擇都很好腳本運行良好。

回答

3

Matlab軟件開始在其主目錄和-r需要你的函數是在引號,這就是爲什麼你的錯誤。

而你需要先更改爲您的工作空間,語法如下:

matlab -sd pathToYourWorkspace -r "function(parameters)" 

也許你也想避免整個Matlab的工作環境完全加載,所以在末尾添加:

-nodesktop -nosplash 

如果您運行的任務sheduled,你做了多次?你是否知道像上面這樣的每一個函數調用都會打開一個Matlab的新實例?那麼This question可能會有所幫助。


從評論:當然,你可以只使用命令run調用腳本無論它是。

"run('c:\MyURL\ScriptFile.m')""functionName(YourArgs)"

一個例子作爲run是一個函數和字符串'c:\MyURL\ScriptFile.m'其參數。在這種情況下,通常不需要在之前改變工作區。

+1

你的建議是正確的 - 但問題的原因居然是,「-r」參數直接傳遞到MATLAB進行評估 - 這樣的錯誤是你會看到什麼,如果你輸入'C:\ MyURL \ MATLAB'>>'提示符下的ScriptFile.m'。 – Edric

+0

嗨。要運行一個腳本文件,我叫-r「運行(‘C:\ MyURL \ ScriptFile.m’)」,而調用一個函數只需要調用-r「functionName」或者,如果需要-r參數「使用functionName(YourArgs)」 。 –

+0

@AbruzzoForteeGentile:' 「運行( 'C:\ MyURL \ ScriptFile.m')」'爲' 「使用functionName(YourArgs)」''作爲是run'的功能的字符串''C的例子:\ MyURL \ ScriptFile.m''其參數) – thewaywewalk

相關問題