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

标签 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();
    }

最佳答案

使用:

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

注意 ' 字符括起一个 matlab 字符串。

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

关于c# 应用程序运行 matlab 错误使用 cd 太多输入参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29944871/

相关文章:

c# - Royal Slider 中仅显示一个缩略图

c# - 从另一个进程访问对象

c# - 可靠地检测 C# 表达式树中编译器生成的类

c# - .NET Regex 是否支持全局匹配?

matlab - 为什么Matlab Gaussian Noise会增加0和255的值?

matlab - 从太阳位置和观察者位置的时间

c# - VS 2015 中的 VS 2013 项目 : Meta data files missing

c# - 如何使某些datagridview列只接受C#中的数值

c# - 在动态创建的表中获取动态控制值

matlab - 解析 '[' : usage might be invalid MATLAB syntax时出错