基于matlab编译器和mex文件的vc_与matlab混合编程

基于matlab编译器和mex文件的vc_与matlab混合编程

ID:34072515

大小:646.78 KB

页数:5页

时间:2019-03-03

基于matlab编译器和mex文件的vc_与matlab混合编程_第1页
基于matlab编译器和mex文件的vc_与matlab混合编程_第2页
基于matlab编译器和mex文件的vc_与matlab混合编程_第3页
基于matlab编译器和mex文件的vc_与matlab混合编程_第4页
基于matlab编译器和mex文件的vc_与matlab混合编程_第5页
资源描述:

《基于matlab编译器和mex文件的vc_与matlab混合编程》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、软件纵横计算机与信息技术·51·基于MATLAB编译器和MEX文件的VC++与MATLAB混合编程霍玲玲王宏漫张静(辽宁师范大学计算机与信息技术学院,大连116081)摘要结合实例详细描述了VisualC++2008和MATLABR2008b混合编程实现过程的两种方法,一是MATLAB编译器,二是MEX文件,并总结了两种方法混合编程的优点。关键字VisualC++2008;MATLABR2008b;混合编程;编译器;MEX1引言法均可以脱离MATLAB环境运行,应用程序整体性能好,运VC++是一种面向对象的可视化编程

2、语言,是当前主流的行速度快,能够克服MATLAB作为解释语言执行速度慢的缺开发环境,但它在科学计算、数据可视化等方面需要借助于点,具有很大的实用性和可操作性,其中用MATLAB编译器第三方目标支持程序包。MATLAB在科学计算、数据可视化和MEX文件方法通用性强,执行速度快,把VisualC++2008方面有独特的优势,但是作为一种解释型程序设计语言,它与MATLABR2008b结合起来,程序运行的速度和编程效率在计算速度方面并不是最佳的,MathWorks公司意识到这一将有很大的提高。本文主要介绍基于这两种方法的V

3、isualC++不足,提供了几种与其它程序设计语言(如C/C++、Fortran、2008与MATLABR2008b混合编程。Java语言等)混合编程的方法:2环境配置(1)MATLAB编译器(MCC)。MATLAB编译器是1)编程环境MATLAB提供的一个非常有用的工具,通过它,可以把M文操作系统:WindowsXP;件编译成C或C++语言进行调用,产生脱离MATLAB但仍运用开发工具:VisualC++2008,MATLABR2008b;MATLAB数值计算功能的独立应用程序,使用编译器产生的注意:安装时,要先装

4、VisualC++2008后装MATLABC或C++代码不需要MATLAB环境,但需要MATLAB的C/C++R2008b,因为MATLABR2008b要用到VisualC++2008中数学函数库的支持。的.NET框架。(2)COM组件。COM是Microsoft组件对象模型2)配置编译器(ComponentObjectModel),简称组件对象模型(MCR),它使用mbuild-setup和mex-setup两个命令对编提供一种可以共享二进制代码的工业标准,允许任何符合标译器进行配置,两个命令均选择Microsof

5、tVisualC++准的程序访问。VC++调用MATLAB的COM组件的方式比较2008。简单,它几乎支持MATLAB的所有函数。COM组件由以Win3)设置头文件和库文件的路径32动态连接库(DLL)或可执行文件(EXE)形式发布的可在VisualC++2008中选择Tools-Options-Projects执行代码所组成。andSolutions-VCDirectories;(3)MATLAB引擎。MATLAB引擎采用客户机/服务在IncludeFiles中添加如下路径:器(Client/Sever)的方式,提

6、供了一组MATLABAPI函数,C:matlabrootexterninclude和D:MydocumentMATLAB;通过调用这些函数实现程序进程之间的数据传递。在运用中,在LibraryFiles中添加如下路径:让VC++程序作为前端客户机,它向MABLAB引擎传递命令C:matlabrootexternlibwin32microsoft和D:Mydocument和数据,并从MATLAB引擎接受数据信息,实现动态通讯。MATLAB;(4)MEX文件。此方法只适用于C/C++和Fortra

7、n语言。可以根据MATLAB安装实际情况输入头文件和库MEX代表MATLABExecutable,MATLAB中可调用的C或文件的路径。Fortran语言程序称为MEX文件。MEX文件是一种特殊的动态连4)设置环境变量接库函数,它能够在MATLAB里像一般的M函数那样来执行。我的电脑-属性-高级-环境变量-系统变量-Path中添加采用MATLAB引擎方式,不能脱离MATLAB环境,需MATLAB生成库文件的路径,这里为D:Mydocument要MATLAB后台运行,而MATLAB编译器方法和MEX文件方MATLA

8、B。·52·计算机与信息技术软件纵横下面介绍这两种方法的具体实现过程。其中,MATLAB#pragmacomment(lib,"mclmcrrt")编译器可实现在VC中对MATLAB的调用,MEX文件可实现#pragmacomment(lib,"libmatrixp")在MATLAB中对VC代码的调用。intmain(intargc,char*

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。