2011-10-31 86 views
0

我有一個matlab函數,我可以從命令行運行它。現在我想從命令行傳遞一個參數給文件。該參數是一個整數。看起來,當我從命令行傳遞時,它總是被視爲「字符」。運行matlab並從命令行傳遞整型參數

這裏是我運行命令

MATLAB -nodesktop -nosplash -R 「mycommand的3」

例如,如果我具有作爲

function [ ] = mycommand(a) 
a = a+3; 
disp(a) 
end 

它打印54代替的6.

有沒有辦法解決這個問題?我不想在我的代碼中檢查變量的類型。

感謝

回答

5

你需要爲你在MATLAB解釋器將要執行的函數:

matlab -nodesktop -nosplash -r "mycommand(3)" 

(注意3周圍的括號)

1

MarkD給了一個很好的答案。雖然你提到你可能會不高興做這件事(我敢肯定有很好的理由),但另一種選擇是在你的函數的開頭添加一些額外的代碼,如果通過調用命令將字符輸入轉換爲數字matlab -r

if ischar(a) 
    a = str2num(a); 
end