我希望从我的 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/