资源描述:
《matlab外部程序接口应用研究》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、Matlab外部程序接口应用研究李文武12333游文霞张玉文黄党福冯勇(1.三峡大学电气信息学院,湖北宜昌443002;2.武汉大学水利水电学院,武汉430072;3.三峡大学建筑设计研究院,湖北宜昌443002)摘要:Matlab提供外部程序接口,便于其他开发语言使用其计算功能.描述了Matlab外部程序接口的结构,重点论述了在无Matlab环境下使用Matlab计算功能的方法---利用Matlab外部程序接口创建通用的动态链接库.参数传递出错是开发语言调用动态链接库时经常遇到的问题,提出利用中间文件传递参数的方法,成功解决这一问题.以矩阵求秩为例,详细说明了Matl
2、ab外部程序接口的使用.最后,对Matlab外部程序接口进行了评论.关键词:科学计算;Matlab接口;动态链接库;参数传递中图分类号:TP311:TP312文献标识码:A文章编号:1672-948X(2006)02-0166-03StudyonApplicationofMatlabExternalProgramInterface12333LiWenwuYouWenxiaZhangYuwenHuangDangfuFengYong(1.CollegeofElectricalEngineering&InformationScience,ChinaThreeGorgesUni
3、v.,Yichang443002,China;2.SchoolofWaterResourcesandHydropower,WuhanUniv.,Wuhan430072,China;3.Architectur-alDesign&ResearchInstitute,ChinaThreeGorgesUniv.,Yichang443002,China)AbstractInordertoutilizeitscalculationfunction,Matlabprovidesotherprogramminglanguagewithexter-nalprograminterface.
4、ThepaperdescribesthestructureofMatlabexternalprograminterface,andmainlydiscussesthemethodusingMatlabcalculationfunction:establishingdynamiclinklibraryusingMatlabexter-nalprograminterface.Developmentlanguageoftenencountersparametertransfererrorduringcallingdynamiclinklibrary.Applyingassis
5、tantfilessuccessfullysolvesthisproblem.ThepaperillustratestheuseofMatlabexternalprograminterfacewiththeexampleofseekingmatrix'sorder.Finally,commentismadeuponMatlabexternalprograminterface.Keywordsscientificcalculation;Matlabinterface;dynamiclinklibrary;parametertransferMatlab是世界上最优秀的科学计
6、算软件.它拥发,则科学计算编程的工作量很大.如果利用Matlab有强大的科学计算与可视化功能、简单易用的开放式进行科学计算,VB等可视化开发工具进行界面等其可扩展环境以及30多个面向不同领域而扩展的工具他方面的编程,将会发挥各自的专长,这些需要大量箱支持,使得Matlab在许多学科领域成为算法设计计算的应用将得以很好地实现.正是基于此,Matlab[1]与实现的首选平台.但是,Matlab在人机交互、数提供了外部程序接口,方便其他开发工具使用其强大据采集等方面没有VB、PB、VC等可视化开发工具强的计算功能.大.对于某些需要大量计算的应用,如水库调度单纯Matlab外部
7、程序接口由两部分组成:Matlab编[2]利用Matlab进行开发,则系统界面单调,不便于用户译器和C/C++函数库.Matlab编译器能将Mat-使用;采集数据也不方便.而采用VB等工具进行开lab环境下编写的M文件转换成C或C++文件.收稿日期:2005-10-31作者简介:李文武(1974-),男,讲师,博士研究生,主要研究方向为信息系统、计算机仿真、决策对策理论研究.第28卷第2期李文武等Matlab外部程序接口应用研究167MatlabC/C++函数库包括C函数库和C++函数命令(即前面提到的Matlab编译器)在Matlab环