首页 文章

如何从c#用户界面运行matlab文件

提问于
浏览
-2

我有一个C#应用程序,它在m文件中创建用户界面和matlab函数 . 我需要做的是,当C#应用程序成功编译并打开用户界面时,我按下界面上的一个按钮,它使matlab运行m文件,同时还执行按钮事件应该执行的任务 . 目的是同时运行C#应用程序和matlab函数(同步) .

1 回答

  • 0

    假设这是你的matlab函数:

    function [output] = YourMatlabFunction( Input )
       %
       % your code here
       %
    end
    

    然后你可以用你的C#代码写:

    Type MatlabType = Type.GetTypeFromProgID("Matlab.Desktop.Application");
    Matlab.MLApp matlab = (MLApp.MLApp)Activator.CreateInstance(MatlabType);
    
    matlabGoTo = "cd " + "('" + pathOfYourFile + "')"; 
    matlab.Execute(@matlabGoTo);
    
    object result = null;
    matlab.Feval("YourMatlabFunction", 1, out result, input);
    object[] res = result as object[];
    

    要使进程保持并行运行,可以使用 Invoke 命令 . 这将并行执行您的操作 . 这是documentation的链接 .

相关问题