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)
这个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);
运行程序,弹出下面页面。