2015-04-01 46 views
0

在Windows上,我使用mcc編譯了一個MATLAB腳本,該腳本將結構作爲其唯一參數並將其輸出寫爲文件。當我嘗試調用它使用將結構參數傳遞給Windows上的MATLAB mcc編譯的可執行文件

func.exe "struct('field','data')" 

func.exe struct('field','data') 

我得到

Attempt to reference field of non-structure array. 
Error in func (line 3) 



MATLAB:nonStrucReference 

傳遞的結構來未編譯腳本,通過MATLAB的作品,例如Windows的CMD

matlab /nosplash /nodesktop /r "func(struct('field','data')),exit" 

假設我還是想傳遞一個結構,而不是不同的參數(這樣我就可以指定運行可選參數),有沒有解決辦法? (谷歌沒有幫助!)

謝謝!

+1

命令行參數是字符串,其他任何東西都是不可能的。 – Daniel 2015-04-01 17:42:01

+1

您需要在函數中添加一個選項來接受字符串輸入並評估它以獲取實際數據。 – Navan 2015-04-01 17:47:42

回答

1

與丹尼爾和納文,我實現瞭解決方法(給出的說法叫做參數)的信息是

if (ischar(args)); evalc(sprintf('args=%s;',args)); end 

這無論是在工作的編譯的可執行文件,並直接在MATLAB調用它。它假定用戶已經完成了健全性檢查。

相關問題