- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
VC与MTLAB的混合编程
VC++与MATLAB接口编程方法与实现摘? 要 本文简介了VC++和MATLAB特点,探讨了MATLAB与VC++接口编程的三种方法,并详细论述了MCC和COM组件接口编程的方法和实现过程。研究表明:采用VC++和MATLAB 接口编程方法降低了编程难度,较好地发挥了两者各自的优势。
关键词 MATLAB;VC++;MCC;COM;接口编程
MATLAB是美国MathWorks公司研制开发的一种科学计算软件,它将高性能的数值计算、符号计算和可视化集成在一起,并提供了大量的内置函数以及功能丰富的工具箱,使用方便,编程效率高。然而,MATLAB是一种解释性语言,运行效率低,不适合作为通用的编程平台。
??? VC++是Microsoft公司推出的一个基于Windows平台的可视化的集成开发环境,在运行速度、功能性以及应用程序界面开发方面功能强大,但在数值计算和图形绘制方面,VC++并不具备太多优势。因此,采用MATLAB进行核心程序的开发,用VC++制作出友好的程序界面,然后将两者结合起来,可以较大地提高编程效率。
1 VC++与MATLAB接口方法概述
1.1 MATLAB引擎方式
??? MATLAB引擎采用客户机/服务器(Client/Server) 的方式,提供了一组MATAB API函数,通过调用这些函数实现以用程序进程之间的数据传递。在运用中,让VC++程序作为前端客户机,它向MATLAB引擎传递命令和数据,并从MATLAB引擎接受数据信息,实现动态通讯。
1.2 MATLAB编译器(MCC)
??? MCC是MATLAB中经过优化的编译器。使用MCC,用户可以将MATLAB数学库、图形库和界面的MATLAB程序转化为独立于MATLAB的EXE应用程序和DLL动态连接库,在VC中编写程序界面并加载调用动态连接库,实现两者之间的连接。
1.3 COM组件
??? 组件对象模型(简称MCR)是以组件为发布单元的对象模型。它提供一种可以共享二进制代码的工业标准,允许任何符合标准的程序访问,所以COM作为不同语言之间的协作开发是非常方便的。MATLAB的COM编译器是在MATLAB6.5中才开始提供的一个新工具,从MATLAB7.0起,这个产品改名为MATLAB Builder for COM。基于COM的混合编程方法也是Mathworks公司推荐使用的方法。
??? 以上三种方法中,采用MATLAB引擎方式,应用程序整体性能好,MATLAB引擎支持功能全面,但需要MATLAB后台运行,不能脱离MALAB环境。而?MCC方法和COM组件方法均可以脱离MATLAB环境,应用程序运行效率高,利于软件的开发,本文将重点论述MCC和COM组件方法。
2 MATLAB编译器(MCC)
2.1 MATLAB与VC++接口配置
??? 采用MCC方法需要对MATLAB和VC++接口设置,配置步骤如下:
??? 1) MATLAB编译器配置
??? 首先在MATLAB命令提示符下输入mbuild-setup 命令,选择编译器,(需要注意的是必须确保计算机上已经安装了某个版本的VC++,本文选择visual C++6.0)完成编译器设置。
??? 2) VC++环境设置
??? (1)设定头文件和库文件路径。在VC++环境菜单栏中选择Tools-Options-Directories,在“Show directories for”栏中首先选择Include files,然后在“directories”中将matlab7.0安装目\Extern\Lib\Win32\ Microsoft \MSVC++60添加进去。再次在“Show directories for”栏中选择Librarys files,再在“directories”中添加matlab7.0安装目录\Extern\Include。
??? (2)设置编译连接选项。在VC++环境菜单栏中选择Project -setting,然后选择link选项卡,在object/library modules栏中添加mclmcrrt.lib libtest.lib;选择General选项卡,在Microsoft Foundation Classes栏中选择Use MFC in a Shared Library。
2.2 实例演示
??? 完成MATLAB和VC++的接口设置以后,就可以实现MATLAB和VC++的接口编程,具体步骤如下:
??? 1) 编写M函数文件“mypascal.m”
??? function m=mypascal(n)
??? m=pascal(n);
??? m=m;
??? 示例M函数文件的作用是生成一个n阶的帕斯卡矩阵并返回,Pascal矩阵特点:第一行和第一
您可能关注的文档
- sa一、应链与采购物流.doc
- SCM系功能模块.doc
- SACDISO、DVD-Audio ISO播放及解压教程.doc
- SCAD调度系统技术方案(无线数台).doc
- SDTJZ-QZ-007门式起重机安装改造重大维修监督检验细则.doc
- SDTJZ-RQ-003液化气体汽车罐车产品安全性能监督检验细则.doc
- Scru敏捷开发过程.doc
- SCOR型案例分析.doc
- scilb中文帮助手册.doc
- SD-30燃气夹层锅和DKCD-400餐厅专用炒菜锅价格.docx
- “才聚齐鲁成就未来”山东省旅游工程设计院有限公司部分岗位公开招聘考试题库最新.docx
- 徐州幼儿师范高等专科学校公开招聘高层次人才6人考试题库必考题.docx
- 2025至2030中国蔬菜行业市场深度调研及发展趋势与行业运营态势与投资前景调查研究报告.docx
- 2025至2030中国无线温振一体传感器市场供需现状与投资效益可行性报告.docx
- 2025至2030中国胃肠和和胃肠支架行业运营态势与投资前景调查研究报告.docx
- 2025至2030中国农业观光园行业市场占有率及有效策略与实施路径评估报告.docx
- 2025至2030中国山达脂市场发展优势及未来运营动态建议报告.docx
- 2025至2030中国铁路道钉行业发展分析及前景趋势与行业运营态势与投资前景调查研究报告.docx
- 2025至2030中国喷墨打印机油墨行业运营态势与投资前景调查研究报告.docx
- 2025至2030中国两片式球阀行业运营态势与投资前景调查研究报告.docx
最近下载
- 2025用于混凝土中的防裂抗渗复合材料.docx VIP
- 地产项目商业综合体商业街马年春节美陈设计包装方案【概念包装】【春节营销】.pdf VIP
- 值班的记录表.doc VIP
- 车间主任培训(课件90页).pptx VIP
- 2025年6月大学英语六级考试真题第2套(含答案+听力原文+听力音频).docx VIP
- 汽车维修工高级(理论)复习题.docx VIP
- 高速公路质量通病防治手册(最终修改版) .pdf VIP
- 人教版 二年级数学下册二年级数学脱式练习.docx VIP
- 2024年货代明年工作计划.ppt VIP
- 2025年6月大学英语六级考试真题第1套(含答案+听力原文+听力音频).docx VIP
原创力文档


文档评论(0)