2013-12-19 40 views
0

例如在Matlab中,命令行我使用:如何將兩個矩陣作爲參數傳遞給matlab可執行文件?

functionname([1 2 3;4 5 6],[1 3 2;7 9 8]) 

我得到一個結果。但是,在Windows使用cmd

functionname "[1 2 3;4 5 6]" "[1 3 2;7 9 8]) 

這似乎並不奏效。

+1

你期待什麼結果?這個函數是否向控制檯輸出了一些東西,或者你希望返回值是神奇的打印? – paddy

+0

該函數以兩個矩陣作爲參數,進行相同的計算並返回結果。我直接在matlab命令行上測試它,它工作。但創建可執行文件後,我無法找到如何將兩個矩陣作爲參數傳遞。 – user3117667

回答

0

此問題已經在How to create a executable .exe file from .m file上回答。

您應該使用mcc -m yourfile,它只適用於安裝了Matlab的機器。 另一種方法是使用.dll並通過Visual Studio運行它。

+0

我已經創建了exe文件,問題是我無法找到如何將兩個矩陣作爲參數傳遞。例如,對於兩個數字值,我可以使用 函數名稱4 5 ,但函數名稱「[1 2 3; 4 5 6]」「[1 3 2; 7 9 8])不起作用 – user3117667

0

你得的參數轉換爲數值的需求:

在使用functionName(A,B),加

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

if ischar(b) 
    b = eval(b); 
end 

現在使用functionName()可以用數值參數和命令行調用與字符串參數:

functionname "[1 2 3;4 5 6]" "[1 3 2;7 9 8]" 

請注意,eval()與mat2str()相反。

相關問題