基于COM组件的MATLAB R2009a与C#.NET2010的交互编程

来源:互联网 发布:在线短域名生成工具 编辑:程序博客网 时间:2024/05/18 00:06

 1、在MATLAB中配置编译COM的环境

     在进行配置前情确认安装了VS2010(含C#.NET)和.NET Framework 2.0。 

>> mbuild -setup 

   Would you like mbuild to locate installed compilers [y]/n?

>>n 

   选择  [6] Microsoft Visual C++ 2008 SP1 

   Use C:\Program Files\Microsoft Visual Studio 9.0 anyway [y]/n?   %安装路径

>>y

 

2、使用MATLAB定制COM组件

>> deploytool

选择“Create a new deployment project”;

选择“MATLAB Builder NE ”、“.NET Component”,输入工程名;

更改工程目录下的Proj1文件夹名为ProjPlot;

写程序,保存为.m文件(如,Test.m);

例,Test.m代码:

    function Test (a)

    x=0:0.1:a;

    y=x.^2;

    plot(x,y);

右键“ProjPlot”——〉“Add File”;

点击“build the project”进行编译;

   “项目所在目录\distrib\”下生成的dll文件(Proj1.dll)

注册mwcomutil.dll;

这个dll是MATLAB下任何com组件都要用到的dll

     regsvr32 “MATLAB安装路径\bin\win32\mwcomutil. dll”。

 

3、在C#.NET中使用com组件

打开VS2010,新建一个工程。

添加引用Proj1.dll;

添加引用MWArray.dll和WebFiguresService.dll 

 (Mablab安装路径\R2008b\toolbox\ dotnetbuilder\bin\ win32\v2.0下)。

添加按钮“运行”。

在按钮的Click事件中添加如下代码:

//引用MATLAB项目

Proj1.ProjPlot Optimal = new Proj1.ProjPlot();

//定义输入、赋值

MathWorks.MATLAB.NET.Arrays.MWArray aa; 

aa = 100;

Optimal.Test(aa);

 

运行程序,弹出下面页面。

原创粉丝点击