每次我用C#调用Matlab函数时,它都必须先打开“工作区”窗口。有什么方法可以在不显示工作区的情况下执行功能?这是我的C#代码:
MLApp.MLApp matlab = new MLApp.MLApp();
matlab.Execute(@"cd C:\path\to\folder");
object BestIter = null;
object BestPosition = null;
matlab.PutWorkspaceData("npop", "base", this.Npop);
matlab.PutWorkspaceData("maxiter", "base", this.MaxIter);
matlab.Execute("[bestiter, bestposition] = Algorithm(maxiter, npop);");
matlab.GetWorkspaceData("bestiter", "base", out BestIter);
matlab.GetWorkspaceData("bestposition", "base", out BestPosition);
答案 0 :(得分:0)
您可以尝试使用编译器来编译Matlab函数代码。 之后,您可以使用以下命令在C#环境中执行MATLAB .exe文件:
Process.Start("yourfile.exe")