有人能建议一种简单的方法从MATLAB中取一个数字向量,并将这些数字添加到C#中的列表中,以便C#程序中的事件调用吗?我发现了很多关于两种语言之间接口的信息,但我对c#很新,可以使用特异性。欢迎任何建议!
答案 0 :(得分:2)
如果要从C#程序调用MATLAB,请使用NE Builder工具箱。有很多关于它是如何工作的例子here。
你的MATLAB代码看起来像
function y = GenerateSomeNumbers()
y = rand(1, 10);
end
使用构建器将其构建到MyMatlabComponent.dll
,并在C#程序中添加对此dll的引用。
您的C#代码看起来像
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);
答案 1 :(得分:0)
有几种方法。
首先,您可以使用COM作为桥梁。见
http://www.mathworks.nl/matlabcentral/newsreader/view_thread/153172
http://topic.csdn.net/u/20090402/16/6db37a24-648c-4f8d-a353-42eab4c4bcbe.html
http://www.sciencenet.cn/m/user_content.aspx?id=304113
其次,您可以使用matlab-net-API。见
http://www.mathworks.com/access/helpdesk/help/techdoc/ref/f16-35614.html#brxerx8-1
和
http://www.mathworks.com/access/helpdesk/help/techdoc/matlab_external/exampleindex.html