自动化Matlab代码,但是尽管在我的Matlab路径上也找不到函数

时间:2018-09-20 10:33:08

标签: c# .net matlab

我在Matlab上遇到问题。

我有一个c#包装器,该包装器创建了Matlab实例,并将目录更改为我具有各种功能的位置。然后,我调用所需的Matlab函数。

当该函数调用不在同一目录中但在我的Matlab路径上的另一个函数时,就会发生问题。 Matlab表示找不到该功能。只是为了使情况更加混乱,否则其他目录中的某些功能确实起作用。

在我的Matlab中,我有一个startup.m文件,该文件加载了我所有需要的路径。通过C#创建Matlab实例时会执行此操作吗?

如果我从Matlab手动运行代码,则代码可以完美运行。

 MLApp.MLApp _matlab;


  try
        {
            // create matlab instance
            _matlab = new MLApp.MLApp();

            // change to the directory where the function is located            
            _matlab.Execute(@"cd G:\MyPath\production\SomeFolder\");

            // define the output
            object result = null;

            // call the matlab function upload_data            
            _matlab.Feval("someFunctionName", 0, out result, "parameter");

            // quit matlab
            _matlab.Quit();

            // display result
            object[] res = result as object[];
        }
        catch(Exception ex)
        {
            _matlab.Quit();
            throw;
        }

0 个答案:

没有答案