通过C#.net执行matlab脚本

时间:2017-11-03 04:25:51

标签: c# matlab

我是C#.net的新手,我试图通过visual studio C#.net.I添加matlab com参考来执行matlab脚本

以下是我的代码

MLApp.MLApp matlab = new MLApp.MLApp();  matlab.Execute(@“cd path”);

然而,当我在visual studio中运行此代码时,matlab中没有任何内容。

你能告诉我什么是我的问题吗?

1 个答案:

答案 0 :(得分:0)

如果您按照官方Matlab网站的说明进行操作,则可以使用。 https://de.mathworks.com/help/matlab/matlab_external/call-matlab-function-from-c-client.html

如果您在网站上提到的同一文件夹中创建它,一切都应按预期工作。我刚刚尝试使用WPF应用程序。

  

在文件夹c:\ temp \ example。

中创建一个MATLAB函数myfunc
function [x,y] = myfunc(a,b,c) 
x = a + b; 
y = sprintf('Hello %s',c); 
  

然后是C#应用程序

using System; 
using System.Collections.Generic; 
using System.Text; 

namespace ConsoleApplication2 
{ 
    class Program 
    { 
        static void Main(string[] args) 
        { 
            // Create the MATLAB instance 
            MLApp.MLApp matlab = new MLApp.MLApp(); 

            // Change to the directory where the function is located 
            matlab.Execute(@"cd c:\temp\example"); 

            // Define the output 
            object result = null; 

            // Call the MATLAB function myfunc
            matlab.Feval("myfunc", 2, out result, 3.14, 42.0, "world"); 

            // Display result 
            object[] res = result as object[]; 

            Console.WriteLine(res[0]); 
            Console.WriteLine(res[1]); 
            Console.ReadLine(); 
        } 
    } 
}