-2
我有一些用Matlab编写的代码,但是我希望从C#控制台应用程序调用此代码。c#控制台应用程序运行matlab函数
我不需要任何数据从Matlab返回到我的应用程序(虽然如果容易,会很高兴看到)。
似乎有几个选项,但不知道哪个最好。速度并不重要,因为这将是一项自动化任务。
我有一些用Matlab编写的代码,但是我希望从C#控制台应用程序调用此代码。c#控制台应用程序运行matlab函数
我不需要任何数据从Matlab返回到我的应用程序(虽然如果容易,会很高兴看到)。
似乎有几个选项,但不知道哪个最好。速度并不重要,因为这将是一项自动化任务。
MATLAB有一个.Net接口,有很好的文档。文章Call MATLAB Function from C# Client中涵盖了您需要执行的操作。
对于一个简单的MATLAB功能,说:
function [x,y] = myfunc(a,b,c)
x = a + b;
y = sprintf('Hello %s',c);
..它归结为创建MLApp
并调用Feval
方法:
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();
}
}
因为我,我只回答了这个最近研究了这个,并且从字面上打开了相关的网页。这些信息不难发现或理解,您在未来提出问题之前必须做更好的研究。 –