第2部分实战练习(自己做的)
2.1 c#调用matl ab函数
matlab版本2009b,c#版本vs2008.
2.1.1 matlab函数编译成d ll文件
(1)首先编写一个函数的m文件,如MatrixOper a表示两个矩阵相加和相减。
%--------------------------------------------------------
functi on [addRlt,minusR lt]=Matrix Opera(a,b)
% 矩阵相加,相减
[m1,n1]=size(a);
[m2,n2]=size(b);
if m1~=m2 || n1~=n2
displa y('矩阵大小不相同')
error('参数错误');
end
addRlt=a+b;
minusR lt=a-b;
end
%-----------------------------------------------------------
两个输入参数,两个输出参数,并且都是矩阵形式
(2)在matla b 命令窗口输入d eplo y tool,弹出如下窗口
或者点击ma tlab的主菜单deskto p→deploy tool获得如下面图所示的窗口,然后在fil e→new→deploy m entprojec t 中点击。获得上图窗口,修改工程名称和文件后缀名(必须是,.Net Assembly格式)
修改
(3)新建了一个叫m atPr j的工程(它相当于c#中的命名空间n ames pace);然后给它增加class或类
(它就是c#中的类),点[add class]比如myMa thCla ss;之后再给它添加方法(它就是函数了),点[add files],如下图所示。本实例中给它添加了MatrixOpera等函数。
class
方法
(4)完了之后就可以编译了。编译出来后需要一两分钟的时间。
编译
(5)到该工程存放的文件夹,从里面拷出m atPrj.dll文件。同时还要从G:\Progra m Files\MATLAB\R2009b\toolbo x\dotnet build er\bin\win32\v2.0拷贝出MW Array.dll和Ma naged CPPAP Imod ule。第二个文件必须要哦,否则可能会
出错。
2.1.2 c#添加matl ab的dll引用
(1)打开vs2008,新建一个窗体应用程序。
字符串转数组matlab(2)将刚才拷贝到的那3个文件一起放在v s工程(CallMa tlabDllApp)的debug文件夹下面。然后右键下图中的引用,选择添加引用,弹出一个窗口,选
择其中的浏览页面,分别添加ma tPrj.dll文件和MW Arr ay.dll文件。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论