C#与matlab混合编程

环境: VS2010  Matlab2010

首先,

编写一个函数集的.m文件。函数名称:class_netbuilder_func

1 function y = class_netbuilder_func(f)
2   t = linspace(0,1,400);
3   y = sin(2*pi*f*t);
4   plot(t,y);
5 end
View Code

启动Matlab2010,输入deploytool

选中.NET Assembly,点击确定。

注意:location不能含有中文字体。

工程名称Class_Test,点击Add class,添加一个名为class1的类,添加上面写好的.m文件

点击编译! Done!

生成文件如下:

Class_Test包括:src和distrib子文件夹

src下:

在Class1中获得:

using MathWorks.MATLAB.NET.Arrays;
using MathWorks.MATLAB.NET.Utility;

添加到VS的工程命名空间中。并添加

using Class_test;

继续添加Class_testdll的引用。

通过浏览从下边的位置添加MWArray.dll

注意:引用要添加distrib文件夹下的dll。

在VS项目中添加

1  private void button1_Click(object sender, EventArgs e)
2         {
3             double f = 2.0;
4             Class_Test.Class1 mytest = new Class1();
5             mytest.class_netbuilder_func(f);
6         }
View Code

运行!

 注意:exe拷贝给别人时,要将MWArray.dll和distrib文件夹下的dll一并拷贝。

       如果在他人的机器上有如下错误:

请到开发环境的路径D:Program FilesMATLABR2010b oolboxcompilerdeploywin32下将MCRInstaller.exe一并拷贝给他人,让其安装,

 最好安装到英文路径!

至此,完成所有工作!

 

原文地址:https://www.cnblogs.com/felixzh/p/4451707.html