预览加载中,请您耐心等待几秒...
1/4
2/4
3/4
4/4

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

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

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

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

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

第21卷第9期计算机仿真2004年9月 文章编号:1006-9348(2004)09-0193-04 综述MATLAB与VC++的交互编程 李天昀,葛临东 (郑州信息工程大学信息工程学院,河南郑州450002) 摘要:在通信等工程领域的计算机仿真中,VC和Matlab的交互编程可以结合两者的优点,提高仿真效率。文中介绍了Matlab 与VC++之间交互编程的几种方法,包括调用Matlab引擎、C语言mex程序、mat文件操作程序等方法,并特别介绍了Matlab VisualStudioAdd-in的使用。同时分析了各种方法的优缺点和适用场合,提出了适合于算法仿真的交互编程方法。 关键词:软件;语言;交互编程 中图分类号:TP312文献标识码:A ASurveyofInteractiveProgrammingforMATLABandVC++ LITian-yun,GELin-dong (InformationEngineeringDepartmentofInformationEngineeringUniversity,ZhengzhouHenan450002,China) ABSTRACT:Inthefieldofcomputersimulationforengineering,suchascommunications,theinteractiveprogrammingfor MatlabandVC++canunitetheiradvantagestoincreasethesimulationefficiency.Inthispapermanyskillsattheinterac2 tiveprogrammingforMatlabandVC++suchasMatlabengine,C-Languagemexprogram,matprogramarediscussed, especiallytheusageofMatlabVisualStudioAdd-inisdiscussedindetail.Finallytheinteractiveprogrammingtechniques suitableforalgorithmicsimulationareproposedbasedonthediscussionoftheadvantages,disadvantagesandthecorrespond2 ingapplicationfields. KEYWORDS:Software;Language;InteractiveProgramming 1引言在Matlab中调用C代码生成的动态链接库文件来加快执行 Matlab和VC++是目前应用最广泛的工程仿真和开发速度,解决计算瓶颈问题。 软件,但是他们有着各自的优缺点。Matlab功能强大的图形 句柄系统和2维/3维数据可视化让开发人员可以非常直观2Matlab的应用程序接口 地查看变量,Matlab提供的全面的工具箱函数以及他人编写Matlab中提供的应用程序接口是一个功能完善的外部程 的相关专业的函数集合可以让开发者大大地缩短仿真周期。序接口函数库,通过这些函数可以完成与C语言、Fortran语 但是Matlab的m代码是解释性执行的,程序执行效率低,对言之间的联合编程。文中主要以与C语言的接口为例,其中 大规模的数值计算和分析力不从心;而且Matlab程序不能脱测试用的软件版本为Windows操作系统下的Matlab6.1和Vi2 离其运行环境,因此不适于开发商用软件。C语言代码执行sualC++6.0。 效率高,而且在开发中还可以直接将仿真用的代码植入到在与C语言的接口函数设计中,Matlab阵列被声明为 DSP(数字信号处理器)开发程序中或应用到VC++开发的mxArray结构体。基于mxArray结构体可以处理各种数据类 系统中去。型的多维矩阵,包括实数矩阵、复数矩阵、稀疏矩阵等不同结 在计算机上编程对算法或控制流程进行软件仿真时,如构的处理。在mxArray结构体的基础上构建了实现各种数据 果结合Matlab和VC++的优点,取长补短,则可以缩短开发交互功能的接口操作函数,包括mx-函数、mex-函数、mat- 周期、取得更好的效果。利用Matlab应用程序接口可以做到函数和引擎函数等。 VC++与Matlab的联合编程,既可以在C语言程序中打开mx-函数提供了在C语言程序中创建、访问、修改和删 Matlab引擎,调用Matlab的ToolBox函数和作图函数,也可以除mxArray结构体对象的操作,mex-函数提供了C语言mex 程序与Matlab环境交互阵列数据的方法,mat-函数则提供 收稿日期 :2003-03-21了在C语言中对mat文件进行创建、