我希望从我的c#应用程序运行matlab函数。
我的代码如下所示,我在此处的上一个问题中通过此链接matlab example进行了编辑。但是代码无效。
错误消息发生在matlab.Feval行上。虽然我的代码与示例相同。
An unhandled exception of type 'System.Runtime.InteropServices.ComException' occurred in mscorlib.dll.
Additional information: Error using cd
Too many input arguements
代码
static void Main(string[] args)
{
// create matlab instance
MLApp.MLApp matlab = new MLApp.MLApp();
matlab.Visible = 1;
// change to the directory where the function is located
matlab.Execute(@"cd G:\Shared\Folder\Matlab\Non Linear");
// define the output
object result = null;
// call the matlab function upload_data
//matlab.Feval("upload_data", 0, out result);
matlab.Feval("upload_data_test", 1, out result, "DMS", "dsfd", 0);
//[success] = upload_data_test(data_base, str_dir, b_return_data)
// quit matlab
matlab.Quit();
releaseObject(matlab);
// display result
object[] res = result as object[];
Console.WriteLine(res[0]);
Console.ReadLine();
}
答案 0 :(得分:3)
使用:
matlab.Execute(@"cd 'G:\Shared\Folder\Matlab\Non Linear'");
请注意'
字符用于包含matlab字符串。
否则路径中的空白字符会分割输入,而cd
认为它正在接收2个输入。