matlab和VC++混合编程.ppt
matlab与vc++混合编程 王勤湧 导师:罗家融 三种方式: 1.利用matlab引擎 2.用Matlab自带的Matlab Compiler 3.combuilder工具 版本:matlab7.1+vc6.0 一、matlab引擎 matlab引擎库提供一些接口函数,利用这些接口函数,用户可以在自己的程序中以计算引擎方式调用MATLAB。在这种方式中,应用程序和matlab运行于独立的两个进程,两者通过相关技术通信。 接口函数 现场演示 优点:支持所有的MATLAB函数,使用方便简单 缺点:混合编程后的可执行程序脱离不了MATLAB的运行环境;在调用引擎之后是按照MATLAB的执行方式进行的,由于MATLAB是解释执行代码,运行速度较慢。 二、使用MATLAB编译器 MATLAB编译器是一个运行于MATLAB环境的独立工具。其主要功能是把M程序转变成C/C++代码,再调用外部C/C++编译器把产生的源代码编译、链接。编译器可将M文件转换成独立可执行文件或C/C++动态连接库函数。 使用前所要做的准备 1.matlab中mex -setup和mbuild -setup,选择vc编译器 2.mcc -B csglsharedlib:matlab_compiler(生成的文件名)Compiler(M文件名) 3.将生成的.h,.dll,.lib,.ctf文件复制到vc工程目录 4.设置vc包含文件,库文件路径 关键点 .h文件中3个函数的使用 首先定义数组并存入我们要进行函数操作的数据(也就是所谓的实参);然后将这数组转换为 matlab 可以识别的矩阵;然后调用 m 文件中自定义的函数,对矩阵进行操作;最后将结果再转回 VC 支持的数据格式 现场演示 三、COM组件 COM是component object module的简称,它是一种通用的对象接口,任何语言只要按照这种接口标准,就可以实现调用它。matlab6.5新推出来的combuilder就是把用matlab编写的程序做成com组件,供其他语言调用。该方法实现简单,通用性强,而且几乎可以使用Matlab的任何函数。因此在程序较大、调用工具箱函数或调用函数较多时推荐使用,这也是Matlab公司推荐的使用方法。 使用前所要做的准备 1、在matlab command window 输入如下命令: comtool ,新建com工程组件 2.复制生成的几个关键文件至vc工程目录 (3个文件:mwcomtypes.h,com_test_idl_i.c,com_test_idl.h) 调用步骤: CoInitialize();//com组件初始化 CoCreateInstance();//创建一个com对象 利用com调用自定义的matlab函数; com-Release();//释放com对象 CoUninitialize();//结束com组件 VARIANT类型 com在传递参数是使用的是VARIANT类型,主要成员是一个变量和一个联合体组成,变量表示着该联合体由各种类型的数据成员构成, 而该变量则用来指明联合体中目前起作用的数据类型,接收到的数据就存储在该联合体的某个数据成员中。 现场演示 除此之外,matlab还可与delphi,fortran,excel,vb等连接使用,为用户提供了极大的方便 * 引擎是matlab最早提供的外部接口技术 matlab编译器不会把所有的M文件转化为C/C++,而是产生一些必要的C/C++接口函数,其余的M程序都放到.ctf文件中 .h中的初始化函数,matlab函数与结束调用函数,3个函数贯穿使用的全过程 函数 说明 engOpen 打开MATLAB计算引擎 engClose 关闭MATLAB计算引擎 engGetVariable 从MATLAB计算引擎获得数据 engPutVariable 向MATLAB计算引擎发送数据 engEvalString 在MATLAB计算引擎中执行命令 engOutputBuffer 创建用于MATLAB计算引擎输出文本的缓冲区 engOpenSingleUse 启动一个非共享的MATLAB计算引擎 engGetVisible 检测MATLAB命令窗口是否可视 engSetVisible 设置MATLAB命令窗口是否可视 * 引擎是matlab最早提供的外部接口技术 matlab编译器不会把所有的M文件转化为C/C++,而是产生一些必要的C/C++接口函数,其余的M程序都放到.ctf文件中 .h中的初始化函数,matlab函数与结束调用函数,3个函数贯穿使用的全过程 * *
您可能关注的文档
- Erlang的高级特性和应用-yufeng.info.ppt
- ERP库存管理系统《例题+习题》.doc
- ERP概论-朝阳科技大学.ppt
- ESP8266ESP-01调试全过程–使用指导.doc
- Excel玩转地理数据处理-江苏省镇江中学门户网站.doc
- Excel资料排序、筛选、小计与作图.ppt
- FAQ技术支持手册.doc
- FAST构架设计.ppt
- FLService使用说明.doc
- FPGA后仿真流程.doc.doc
- 2026年全球AI教育市场自适应学习系统与教育大数据分析.docx
- 2026年全球AI教育市场数据驱动决策分析.docx
- 2026年全球AI法律合规性检查技术路线图.docx
- 2026年全球AI法律咨询市场发展机遇与挑战.docx
- 2026年全球AI法律咨询市场合同审查自动化技术政府支持政策.docx
- 智慧农业无人机作物生长监测与病虫害防治信息化平台可行性分析报告.docx
- 2025年生态旅游景区停车场新能源汽车停车需求预测报告.docx
- 2026年全球AI法律咨询市场竞争格局分析.docx
- 2026年全球AI教育市场教师技术应用案例.docx
- 2026年全球AI教育市场教师角色转型与教育创新激励机制研究.docx
最近下载
- (高清版)B-T 6739-2022 色漆和清漆 铅笔法测定漆膜硬度.pdf VIP
- 康玉明-如何撰写国家自然科学基金申课件.ppt VIP
- 在带头固本培元、增强党性等“五个带头”对照检查发言材料2篇范文2026年.docx VIP
- 2025《医疗器械经营质量管理规范》培训课件.docx VIP
- 农产品质量安全检测知识竞赛考试题库资料500题(供参考).pdf VIP
- 卓梅尼GTEC188 电梯控制系统调试手册v1.4.pdf
- 汽轮机热力性能试验的技术应用.ppt
- 心理痛苦评估表、焦虑、抑郁自评量表、预期性悲伤量表、社会支持评定量表、患者尊严量表.pdf VIP
- 心律失常专题宣讲.ppt VIP
- 网红直播对消费者购买决策行为影响因素研究.docx
原创力文档

文档评论(0)