Matlab下编译dll文档.docx
- 文档编号:30769153
- 上传时间:2023-08-23
- 格式:DOCX
- 页数:18
- 大小:1.14MB
Matlab下编译dll文档.docx
《Matlab下编译dll文档.docx》由会员分享,可在线阅读,更多相关《Matlab下编译dll文档.docx(18页珍藏版)》请在冰豆网上搜索。
Matlab下编译dll文档
编译DLL可执行文件以及调用
软件版本:
matlab2013avs2010
一、VS2010项目的创建
1.1打开VS2010
1.2创建项目
文件菜单——新建——项目
对项目属性进行设置
备注:
(1)项目名称给定以后,解决方案名称就自动生成了,所以不用管。
(2)同时位置也默认就行了,之后在matlab中添加的编译项目一般也放在这个位置。
二、安装编译器
2.1代码:
>>mex–setup
2.2运行结果:
(1)是否安装编译器?
选择y
(2)选择安装编译器的类型
备注:
这里选择[2]
(3)确定安装[2]号编译器
备注:
这里我们继续选择y
(4)安装成功
三、m文件的编译
3.1打开编译器
点击菜单中的apps按钮
找到MATLABCompiler
3.2项目的创建
单击MATLABCompiler后,出现如下项目创建对话框:
填写完成后,点击OK.
备注:
matlab中编译项目的位置,我们要存放在之前已经建立过的VS2010的项目目录下,方便调用。
例如:
C:
\Users\李帅\Documents\VisualStudio2010\Projects\test\test001\bin\Debug
其中test001是在vs2010中建立的项目名
Matlab窗口右侧会出现新的工具窗口,这个就是刚刚我们创建的项目的属性栏。
3.3项目属性设置
单击设置按钮,如下图
在出现的菜单中选择:
对.NET属性进行设置
3.4添加类(class)
对添加的类命名,最好使用方便记忆的类名,这个方便在C#中调用
3.5添加m文件
点击addfiles,为该项目添加m文件,也就是我们要编译的m文档
在弹出的对话框中,选择要编译的m文档,如下图:
添加完成后,test001.m的文件显示出来,说明添加成功,如下图:
添加完成后,test001.m的文件显示出来,说明添加成功
3.6开始编译
点击编译按钮,正式开始编译,如下图:
开始编译:
编译成功:
四、调用DLL
4.1添加必要引用
在工程中添加两个引用,一个为上面自己生成的mysumm.dll,另一个为matlab安装文件夹中:
MATLAB\R2007b\toolbox\dotnetbuilder\bin\win32\v2.0\MWArray.dll
具体过程如下:
右键点击引用——添加引用
添加MWArry.dll的引用
这个MWArry.dll所在位置是matlab安装的目录下:
MATLAB\R2013a\toolbox\dotnetbuilder\bin\win32\v2.0\MWArray.dll
、
4.2调用dll
在代码里添加下面三个命名空间:
using MathWorks.MATLAB.NET.Arrays;
using MathWorks.MATLAB.NET.Utility;
using test001;//test001为我们编译的dll项目名称
如图:
在窗体上添加一个按钮和文本框
工具箱——button,直接拖到窗体上去——Label,直接拖到窗体上去,如图:
双击button1,进入代码设计界面,然后在单击事件里添加如下代码
privatevoidbutton1_Click(objectsender,EventArgse)
{
MWArraya=4;//给m函数中的a传递值
MWArrayb=5;//给m函数中的b传递值
Class1c=newclass1();//创建class1类——c
MWArrayd=c.test(a,b);//调用c中的test函数,参数为a,b,运算后结果附给d
textBox1.Text=d.ToString();//将d的结果在textbox中显示出来
}
备注:
1.我们的m文件中函数:
functionc=test(a,b)
c=a*b;
end
2.class1是我们在编译dll的时候添加的类,而该类的一个函数test就是我们添加进去的m文件中的函数名。
运行后:
说明调用成功。
备注:
以上为自己编写的一个m文件进行编译,并进行测试的,不同的函数会有不同的调用方式(比如参数的设定、参数值的传递等等)。
具体的方法还要根据具体的函数进行分析。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Matlab 编译 dll 文档