- 14
- 0
- 约7.07千字
- 约 11页
- 2017-09-17 发布于江西
- 举报
第2部分实战练习(自己做的)2.1 c#调用matlab函数matlab版本2009b,c#版本vs200 matlab函数编译成dll文件(1)首先编写一个函数的m文件,如MatrixOpera表示两个矩阵相加和相减。%--------------------------------------------------------function [addRlt,minusRlt]=MatrixOpera(a,b)% 矩阵相加,相减[m1,n1]=size(a);[m2,n2]=size(b);if m1~=m2 || n1~=n2 display(矩阵大小不相同) error(参数错误);endaddRlt=a+b;minusRlt=a-b;end%-----------------------------------------------------------两个输入参数,两个输出参数,并且都是矩阵形式(2)在matlab 命令窗口输入deploytool,弹出如下窗口或者点击matlab的主菜单 desktop→deploy tool获得如下面图所示的窗口,然后在file→new→deployment project 中点击。获得上图窗口,修改工程名称和文件后缀名(必须是,.Net Assembly格式)修改(3)新建了一个叫matPrj的工程(它相当于c#中的命名空间namespace);然后给它增加class或类(它就是c#中的类),点[add class]比如myMathClass;之后再给它添加方法(它就是函数了),点[add files],如下图所示。本实例中给它添加了MatrixOpera等函数。方法class(4)完了之后就可以编译了。编译出来后需要一两分钟的时间。编译(5)找到该工程存放的文件夹,从里面拷出matPrj.dll文件。同时还要从G:\Program Files\MATLAB\R2009b\toolbox\dotnetbuilder\bin\win32\v2.0拷贝出MWArray.dll和ManagedCPPAPI.netmodule。第二个文件必须要哦,否则可能会出错。2.1.2 c#添加matlab的dll引用(1)打开vs2008,新建一个窗体应用程序。(2)将刚才拷贝到的那3个文件一起放在vs工程(CallMatlabDllApp)的debug文件夹下面。然后右键下图中的引用,选择添加引用,弹出一个窗口,选择其中的浏览页面,分别添加matPrj.dll文件和MWArray.dll文件。已经添加了的引用右键,点添加引用(3)最后在前面,代码的前面添加下面的命名空间即可。using MathWorks.MATLAB.NET.Arrays;//在MWArray.dll,最常用的using MathWorks.MATLAB.NET.Utility;//在MWArray.dll,最常用的using matPrj;//这个就是我们自己定义的,里面有matlab函数如果matlab函数复杂,还需要用到其他的空间,则视情况而定,自己凭经验添加。已经添加了的引用至此,已经可以利用c#调用我们用matlab编写的函数了。2.1.3 函数调用函数调用前必须注意:(1)将c#的参数输入到matlab函数时,要将参数转化为matlab的参数形式,通常是MWArray类型。(2)matlab返回的参数,也要转化为c#用的类型,比如数组或者数值类型。下面是关于(1)和(2)的介绍,从别人那拷过来的,具体可参考/share/detail/294982直接将值传递给已经初始化的MWArray数组中的成员直接将数据类型赋值给已经初始化的MWNumericArray变量。直接将字符串类赋值给已经初始化的MWCharArray变量。如果是数组类型:直接赋值给MWNumericArray变量;赋值给MWArray变量,则在前面加上类型转换如:(MWNumericArray)进行强制转换。总之,MWArray是总类型,其它的以MW开头,以Array结尾的变量类型都可以直接对它进行赋值或取值。M类型到C++/C#数据类型MWArrayM类型,它是M文件的编译后内部的标准类型,一切C++/C#类型都要最终转换成此类型,方可作为参数调用M语言函数。MWCharArrayM的字符串类型,使用它可以将M中的字符类型转换成C++/C#的字符串类型。MWNumericArrayMWNumericArray是MWArray与C#等语言的转换中间类型。常用的转换函数:① public Array ToArray(MWArrayComponent component);将M类型转换成C#的Array类型,然后可以直接转换
您可能关注的文档
- 7.1 普查与抽样调查(2).ppt
- 8、上市公司执行企业会计准则监管问题解答(1-5期).docx
- 96浙江大学c语言试卷.doc
- A-2(1-4)导数.ppt
- ACCP5[1].0Java编程逻辑第9章.ppt
- Aeemosq中国区域经济管理概论(1).doc
- ae菜单中英对照.docx
- ANSYS软件英语01347.doc
- beam截面的方向点.doc
- C 程序设计基础之三.doc
- (正式版)DB51∕T 1867-2014 《袋栽黑木耳生产技术规程》.docx
- (正式版)DB51∕T 2413-2023 《油橄榄密植丰产栽培技术规程》.docx
- (正式版)DB51∕T 2436-2017 《川菜东坡一品肉烹饪工艺技术规范》.docx
- (正式版)DB51∕T 2396-2017 《农村电子商务服务站(点)服务与管理规范》.docx
- (正式版)DB51∕T 2419-2017 《桢楠扦插育苗技术规程》.docx
- CN105145773B 一种无花果曲奇饼干及其制作方法 (江苏农林职业技术学院).docx
- CN105203825A 微测量电极的制作方法和热电势的测量方法及相关装置 (国家纳米科学中心).docx
- CN105137533B 一种啁啾光纤光栅及其制作方法 (南京航空航天大学).docx
- (正式版)DB51∕T 2453-2018 《巴山新居公共管理指南》.docx
- (正式版)DB51∕T 1892-2014 《川西北地区沙化土地治理技术规程》.docx
最近下载
- 高一必修一化学笔记总结.pdf VIP
- NCCN临床实践指南:子宫肿瘤(2026.v2)PPT课件.pptx VIP
- 2025年江西应用技术职业学院高职单招高职单招英语2016-2024年参考题库含答案解析.docx
- 《无机化学》电子教案.pdf VIP
- 孔子游春课件62260.ppt VIP
- 2025年江西应用技术职业学院单招笔试语文试题库含答案解析.docx VIP
- 2025年江西应用技术职业学院单招笔试综合素质试题库含答案解析.docx VIP
- 2025年江西应用技术职业学院单招《数学》题库试题附参考答案详解(突破训练).docx VIP
- The Mummy《木乃伊(1999)》完整中英文对照剧本.docx VIP
- 2026年江西应用技术职业学院单招职业技能考试模拟测试卷带答案解析.docx VIP
原创力文档

文档评论(0)