MATLAB与VC++混合编程研究及应用.doc

  1. 1、本文档共6页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
MATLAB与VC混合编程研究及应用

MATLAB与VC++混合编程研究及应用   摘要:介绍了三种实用易行的MATLAB与VC++混合编程方式,即利用MATLAB的MCC编译器,使用MATCOM软件转化M文件,使用MATLAB的COM Builder工具制作COM组件。针对具体程序分别应用三种方法来实现,对每种方法介绍了详细步骤。对三种方法进行了分析比较,总结了各自的优缺点,实现了MATLAB出色的图形处理功能和数值计算能力与VC++强大编程能力的结合。   关键词:MATLAB;VC++;混合编程   中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2013)10-2353-03   MATLAB是适合多学科,多种工作平台的功能强大的大型数值计算和系统分析软件。MATLAB将数值分析、矩阵计算、信号处理和图形显示相结合,包含了大量高度集成的函数,为科学研究、工程设计及众多学科领域提供了一种简洁、高效的编程工具,在数值分析、科学计算、算法开发、建模和仿真等方面具有独特优势[1]。但是MATLAB使用的是解释性语言,限制了自身的执行速度;程序的执行限制与MATLAB自身的运行环境,不利于应用程序的开发;GUI功能较差。   VC++是强大的windows应用程序开发工具,它提供了高度集成的工具集和可视化集成的编程环境,包括了Microsoft的代码优化技术,极大提高了应用程序的设计效率,还提供了复杂的资源编辑器,拥有强大的GUI功能[2]。   因此,实现MATLAB与VC++等可视化程序设计语言的混合编程,提高程序的执行速度,美化应用程序界面,脱离MATLAB环境,发布独立的应用程序,同时利用MATLAB在数值分析、矩阵计算、信号处理和图形显示等方面的强大功能,具有重要的意义。   1 MATLAB与VC++混合编程方法   MATLAB与VC++有多种接口方法,但是一些常见方法难以实现,执行效率低,如MATLAB Engine、直接调用MATLAB的C/C++数学函数库等。该文介绍三种只要在VC++平台下调用,不需要编写大量语句,更加适用于实际应用和软件开发的接口方法:利用MATLAB自带编译器MCC;使用MATCOM软件转换M文件;以及利用COM Builder工具制作COM组件。   1.1 利用MATLAB自带编译器MCC   MCC是MATLAB自带的优化编译器,作用是将m文件转化成C/C++代码,通过MCC,可以将MATLAB数学库、图形库和界面的MATLAB程序转化为DLL动态链接库、C/C++文件、EXE应用程序等一系列文件。MCC实现MATLAB与VC++混合编程的步骤为[3-4]。   1.2使用MATCOM转换M文件   MATCOM是Mathworks公司推出的由MATLAB到C++的编译开发软件平台。MATCOM可以把M文件翻译成C++源文件,并编译为脱离MATLAB环境可独立运行的程序。它的编译环境为MIDEVA。通过MATCOM链接MATLAB的M文件有以下三种方式:   1)将M文件直接转换为C/C++,然后添加至MSVC工程中;   2)利用MATCOM生成独立执行的EXE文件,但由于VC和MATLAB之间不能交互,通用性差,仅适用于在VC中调用MATLAB实现图形显示。   3)实现在Visual C++6.0环境中直接对M文件进行编译,这种方法通过使用Visual MATCOM工具条,在脱离了MATLAB环境条件下,实现了VC++对M文件的调用,大大方便了应用程序的开发。   本文采用第三种—利用MATCOM直接在VC++中对M文件进行编译的方式,实现上述绘制正弦函数图形的程序[5]。   1)安装MATCOM4.5,然后在VC++中设置MATCOM的调用环境,并生成一个Visual MATCOM工具条。   编译执行后,可通过点击对话框上的按钮,利用COM组件的方法,进行正弦图像的绘制,完成MATLAB与VC++的混合编程。   2 结束语   通过上述三种方法的分析和实例应用,可以发现上述三种方式都不需要在VC++平台下编写大量语句,将程序的处理部分,全部用M文件完成,VC++中只需要简单的调用即可,相对于其他的混合编程方法,如通过MATLAB Engine、直接调用MATLAB的C/C++数学函数库等执行效率低、需要用户在VC++下大量编写代码的方式,有着显著的优点,更加适用于实际应用和软件开发。这三种MATLAB与VC++的混合编程方法又有各自的特点:   1)利用MATLAB自带编译器MCC,将M文件转换成C/C++文件,除了上述优点外仍有很多限制,如:不能转换脚本M文件,只能转换M函数;不能使用MATLAB对象;不能用input或者eval操作MA

文档评论(0)

189****7685 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档