C# 将MATLAB中的数字向量添加到C中的列表中#

C# 将MATLAB中的数字向量添加到C中的列表中#,c#,events,list,matlab,C#,Events,List,Matlab,有谁能建议一种简单的方法,从MATLAB中获取一个数字向量,并将这些数字添加到C#中的列表中,以供C#程序中的事件调用?我发现了很多关于这两种语言之间接口的信息,但我对c#非常陌生,可以使用这种特殊性。欢迎任何建议 如果要从C#程序调用MATLAB,请使用NE Builder工具箱。关于它是如何工作的,有很多例子 你的MATLAB代码看起来像 function y = GenerateSomeNumbers() y = rand(1, 10); end using MathWorks.M

有谁能建议一种简单的方法,从MATLAB中获取一个数字向量,并将这些数字添加到C#中的列表中,以供C#程序中的事件调用?我发现了很多关于这两种语言之间接口的信息,但我对c#非常陌生,可以使用这种特殊性。欢迎任何建议

如果要从C#程序调用MATLAB,请使用NE Builder工具箱。关于它是如何工作的,有很多例子

你的MATLAB代码看起来像

function y = GenerateSomeNumbers()
   y = rand(1, 10);
end
using MathWorks.MATLAB.NET.Arrays;
using MathWorks.MATLAB.NET.Utility;
using MyMatlabComponent;

// ...

// Inside the appropriate method
List<double> l = new List<double>();
MyMatlabComponentclass c = new MyMatlabComponentclass();
MWNumericArray m = c.GenerateSomeNumbers();
l.Add((double)m);
使用生成器将其构建到MyMatlabComponent.dll中,并在C#程序中添加对此dll的引用

您的C#代码将类似于

function y = GenerateSomeNumbers()
   y = rand(1, 10);
end
using MathWorks.MATLAB.NET.Arrays;
using MathWorks.MATLAB.NET.Utility;
using MyMatlabComponent;

// ...

// Inside the appropriate method
List<double> l = new List<double>();
MyMatlabComponentclass c = new MyMatlabComponentclass();
MWNumericArray m = c.GenerateSomeNumbers();
l.Add((double)m);
使用MathWorks.MATLAB.NET.array;
使用MathWorks.MATLAB.NET.Utility;
使用MyMatlabComponent;
// ...
//在适当的方法内
列表l=新列表();
MyMatlabComponentclass c=新的MyMatlabComponentclass();
MWNumericArray m=c.生成菜单编号();
l、 加((双)米);

有几种方法

首先,您可以使用COM作为桥梁。看

第二,可以使用MatlabNetAPI。看