- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Matlab下编译dll文档
编译DLL可执行文件以及调用软件版本:matlab2013a vs2010VS2010项目的创建1.1打开VS20101.2创建项目文件菜单——新建——项目对项目属性进行设置备注:(1)项目名称给定以后,解决方案名称就自动生成了,所以不用管。(2)同时位置也默认就行了,之后在matlab中添加的编译项目一般也放在这个位置。安装编译器2.1代码: mex–setup2.2运行结果:(1)是否安装编译器?选择y(2)选择安装编译器的类型备注:这里选择[2](3)确定安装[2]号编译器备注:这里我们继续选择y(4)安装成功m文件的编译3.1打开编译器点击菜单中的apps按钮找到MATLAB Compiler3.2项目的创建单击MATLAB Compiler后,出现如下项目创建对话框:填写完成后,点击OK.备注:matlab中编译项目的位置,我们要存放在之前已经建立过的VS2010的项目目录下,方便调用。例如:C:\Users\李帅 \Documents\Visual Studio 2010\Projects\test\test001\bin\Debug其中test001是在vs2010中建立的项目名Matlab窗口右侧会出现新的工具窗口,这个就是刚刚我们创建的项目的属性栏。3.3项目属性设置单击设置按钮,如下图在出现的菜单中选择:对.NET属性进行设置3.4添加类(class)对添加的类命名,最好使用方便记忆的类名,这个方便在C#中调用3.5添加m文件点击add files,为该项目添加m文件,也就是我们要编译的m文档在弹出的对话框中,选择要编译的m文档,如下图:添加完成后,test001.m的文件显示出来,说明添加成功,如下图:添加完成后,test001.m的文件显示出来,说明添加成功3.6开始编译点击编译按钮,正式开始编译,如下图:开始编译:编译成功:四、调用DLL4.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,进入代码设计界面,然后在单击事件里添加如下代码private void button1_Click(object sender, EventArgs e){ MWArray a = 4;//给m函数中的a传递值MWArray b = 5; //给m函数中的b传递值Class1 c = new class1();//创建class1类——c MWArray d = c.test(a, b); //调用c中的test函数,参数为a,b,运算后结果附给d textBox1.Text = d.ToString();//将d的结果在textbox中显示出来}备注:1.我们的m文件中函数:function c=test(a,b)c=a*b;end2.class1是我们在编译dll的时候添加的类,而该类的一个函数test就是我们添加进去的m文件中的函数名。运行后:说明调用成功。备注:以上为自己编写的一个m文件进行编译,并进行测试的,不同的函数会有不同的调用方式(比如参数的设定、参数值的传递等等)。具体的方法还要根据具体的函数进行分析。
文档评论(0)