VC60与MATLAB7X混合编程方法研究.pdf
上传人:qw****27 上传时间:2024-09-12 格式:PDF 页数:5 大小:298KB 金币:15 举报 版权申诉
预览加载中,请您耐心等待几秒...

VC60与MATLAB7X混合编程方法研究.pdf

VC60与MATLAB7X混合编程方法研究.pdf

预览

在线预览结束,喜欢就下载吧,查找使用更方便

15 金币

下载此文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

万方数据7.X混合编程方法研究‘VC6.0与MATLABProgrammingMATLAB7.X引言ResearchtheCombinationforandVC++6.O彭博栋魏福利1MATI。AB是美国MathWorks公司研制开发的软件产品,是当今世界上使用最为广泛的科学计算软件之一。它具有强大的科学计算与数据可视化功能,内置丰富的矩阵处理函数,附有多种面向不同领域的工具箱,广泛应用于控制、通信、信号处理及科学计算领域中。但是对于可视化功能较多的应用程序,MATLAB显得力不从心。VC++6.o是微软于1998年推出的基于C/C++语言的可视化编程环境。其功能强大,既适用于与底层交流信息,又有强大的可视化编程功能,执行速度快,运行稳定,为许多程序员所喜爱。但是,如果纯粹用C++语言开发涉及矩阵操作较多的程序,不但费时费力、容易出错,而且运行效率也不一定高。因此,如何利用MATLAB强大的矩阵操作功能,结合VC的可视化编程优势进行程序开发,一直是相关科技人员关注的问题Ll~4]。MathWorks公司于2005年推出的MAT—LAB7.x系列版本,较MATI。AB6.5有较大的改变。在MATLAB编译器方面¨J,MATLAB7.x系列版本不再提供图形库和C语言函数库,不再提供VC下的编程插件。针对这种情况,具体讨论了在VC++6.0环境下与MATLAB7.X系列版本混合编程的三种方法:利用MATI。AB引擎、利用MATLAB编译器将m文件编译为动态链接库总第227期2008年第9期计算机与数字工程(西北核技术研究所西安710024)摘要vC++与MATLAB混合编程,可以将VC优秀的可视化编程能力和MATLAB强大的计算能力结合起来。分析了C语言与MATLAB7.X在接口的特点,详细介绍了vC++6.0与MATLAB7.X混合编程的三种方法:MATLAB引擎、MATLAB编译器和MATLABCA)M编译器。比较分析了各种方法的适用范围,介绍了发布混编程序的方法。关键词混合编程中图分类号TP311WeiWithcomputingintroducedpared.Thecombinationintroduced.MAT]_AB,VC++,combination·收稿日期:2008年4月29日,修回日期:2008年5月21日作者简介:彭博栋,研究实习员,研究方向:图像处理、信号分析。魏福利,副研究员,研究方向:信号处理,脉冲辐射诊断。Computer&DigitalVbLMATLABVC++onFuli(Northwest710024)AbstractMATLAB.theprogrammingcombined.Theinterfaceanalyzed.ThreeCompilerCOM.TheprogramwordsEngineering36No.9174PengBodongInstituteofNuclearTechnology,Xi’anVC++andpowerVC++ininwellcharacteristic7.XwithCiswaysVC++6.0detail:withengine,withBuilderproperdifferenttom—releasingKeyCIassNI—nberTP31larecontext万方数据VC++6.0调用MATLAB混合编程方法LAB引擎,外部语言可以将MATIAB当作一个(DI,I。)、利用MATLABCOM将m函数编译封装成COM组件。对每种编程方法,通过举例说明了其具体实现过程和变量传递规则。2使用MATI。AB引擎MATI。AB引擎提供了外部语言(C、Fortran)访问并调用MATI,AB的一种方式。借助MAT—强大的可编程函数库。开发应用系统,程序界面用C语言开发,数据处理与计算交由MATLAB完成,从而缩短开发时间。MATI。AB引擎采用客户机/服务器(Client/Server)计算方式[3|。客户机与服务器既可以存在于同一台计算机上,也可以分布在两台计算机上,通过网络来共享信息。在C与MATLAB混合编程的应用程序中,c/c++程序作为前端客户机,它向MATI。AB引擎传递命令和数据,并从MAT—LAB引擎接收数据;MATI。AB引擎为服务器,在后台作数据处理。早期的MATLAB引擎采用过动态数据交换(DDE)技术和ActiveX技术与外部程序通信,MATLAB6.5及以后版本则采用COM技术[副。MATLAB中供C语言调用MATI。AB引擎的函数主要有:engOpen、engClose负责打开和关闭引擎,engGetVariable、engPutVariable负责从引擎得到和发送一个MATLAB数组,engEvalString使引擎执行按照MATLAB