c#应用程序运行matlab错误使用cd太多的输入参数

时间:2015-04-29 13:14:05

标签: c# .net matlab

我希望从我的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();
    }

1 个答案:

答案 0 :(得分:3)

使用:

matlab.Execute(@"cd 'G:\Shared\Folder\Matlab\Non Linear'");

请注意'字符用于包含matlab字符串。

否则路径中的空白字符会分割输入,而cd认为它正在接收2个输入。