欢迎来到天天文库
浏览记录
ID:51489592
大小:447.95 KB
页数:6页
时间:2020-03-25
《基于COM技术的C#与Matlab混合编程.pdf》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、万方数据第34卷场厶34第14期No.14计算机工程ConlputerEngineering2008年7月July2008·软件技术与赘【据库·文章编号·looo—3428(2∞8Jl“m87—03文献标识码,A中圈分类号,TP3ll基于COM技术的C}}与Matlab混合编程姚光强,陈立平(国家农业信息化工程技术研究中心,北京100097)摘要:提出基于组件对象模型(c0M)技术实现VisuaIc#与Matlab混合编程的2种方法,一种是通过c}}使用Matlab提供的自动化服务,另一种是使用MatJabCoMBuilder将M语言文件编译成COM组件供C#调用
2、。以地理信息系统中常用的空间插值分析为例给出了这2种方法的具体实现。对_两者进行比较,提出了各自的适用范围。结果表明使用cOM技术实现混合编程能充分发挥VisualC样与Matlab各自的特点,提高程序开发和运行效率。关健诃:Visualc帆葺言;Matlab软件;混合编程;组件对象模型IntegratedProgrammingBetweenC#andMatlabBasedonComponentobjectModelYA0Guang-qiang,CHENLi-pjng(NationalEnginee—ngResearchCenterforInfo肌atjonTec
3、hno】ogyinAgriculture,Beqing1O【)097)lAbstractlTwo印pmachesofintegratedpmgrammingbasedonComponent0bjectModeI(COM)areintroduced.0neutiJizes廿leautom“onserverpmVidedbyMatlab.TheothercompilestheMatlabprogramw“tteninMsc^ptinglanguaget0componentbyusingMatlabCOMbu钉de‘theninVokingitinⅥsualC#.111
4、eusuaIspatiaJinte叩olatjonalgori山minGISisimplementedbyt11esetwo印pmaches.111eadvaIltages卸dde艇tsofthemarediscussed.andthead印石Ve印plicationrangeissuggcsted.TheresultisthattheCoMbasedmethodsforintegradon,whichmal(efuUuseoft
5、letwoplaⅡ-omls,caIlspeedupsoftwaredeVeIopmentandimproVeitsperfo肌卸ce
6、.IKeywordslⅥsualC#;Matlab:integratedpmgramming;ComponentObjectM0del(COM)1概述Matlab是一种专门以矩阵形式处理数据的科学计算软件,广泛地应用于数值分析、控制系统、图像处理、数字信号处理等领域的分析、仿真和设计。它将高性能的数值计算和可视化集成在一起,具有编程简单、数值计算和仿真能力强、易于扩展移植等优点⋯。MatJab提供的高级语言——M语言是接近数学形式的语言,编程运算与人进行科学计算的思路和表达方式基本一致,使用简便。但它是一种解释型编程语言,执行效率低,在开发应用程序界面和对外围设备
7、的控制能力上较差,程序的调试不便。c#是专门用于.NET的新编程语言,具有简单易用、类型安全、执行效率高等优点,同时具有低级内存访问性和高效的数据访问和设备操作能力。与Matlab相比,c}}开发应用程序界面和操作外围设备快捷高效,而开发科学计算和数值分析功能则较为困难,效率不高。因此实现c}}和Matlab的混合编程,由C#完成界面开发和端口操作任务,利用Matlab提供的函数和功能完成数据分析计算和相关图形生成,能够将两者的优势互补,提高编程效率。开发的软件将具有友好的界面和较高的执行性能,能够扩展到更广的应用领域。实现c#和Matlab混合编程的关键是找到两
8、者之间合适的接口办法,使C}}方便高效地调用Matlab的功能并传送和接收数据,同时能够在不进行修改或很小修改的情况下充分利用已有的Matlab资源。2COM技术组件对象模型(ComponetObjectModel,COM)是一种以组件为发布单元的对象模型,这种模型使各软件组件可以用一种统一的方式进行交互。COM提供了组件之间进行交互的规范,也提供了实现交互的环境
9、2J。这种交互使得一种语言编写的程序能调用另一种语言编写的软件组件,实现了与编程语言无关的软件重用。调用端被称为客户,被调用端是组件对象,两者的相互作用建立在简单客户,服务器模型机制基础之上。组件对象以
10、动态链接的
此文档下载收益归作者所有