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

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

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

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

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

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

万方数据 基于COM技术的C}}与Matlab混合编程Matlab文章编号·looo—3428(2∞8Jl“m87—03objectModelProgrammingC#andBasedComponentIntegratedBetween第34卷场厶34第14期计算机工程2008年7月·软件技术与赘【据库·de艇ts1概述COM技术July姚光强,陈立平摘要:提出基于组件对象模型(c0M)技术实现VisuaI关健诃:VisualonInfo肌atjonperfo肌卸ce.Matlab是一种专门以矩阵形式处理数据的科学计算软件,广泛地应用于数值分析、控制系统、图像处理、数字信号处理等领域的分析、仿真和设计。它将高性能的数值计算和可视化集成在一起,具有编程简单、数值计算和仿真能力强、易于扩展移植等优点⋯。MatJab提供的高级语言——M语言是接近数学形式的语言,编程运算与人进行科学计算的思路和表达方式基本一致,使用简便。但它是一种解释型编程语言,执行效率低,在开发应用程序界面和对外围设备的控制能力上较差,程序的调试不便。c#是专门用于.NET的新编程语言,具有简单易用、类型安全、执行效率高等优点,同时具有低级内存访问性和高效的数据访问和设备操作能力。与Matlab相比,c}}开发应用程序界面和操作外围设备快捷高效,而开发科学计算和数值分析功能则较为困难,效率不高。因此实现c}}和Matlab的混合编程,由C#完成界面开发和端口操作任务,利用Matlab提供的函数和功能完成数据分析计算和相关图形生成,能够将两者的优势互补,提高编程效率。开发的软件将具有友好的界面和较高的执行性能,能够扩展到更广的应用领域。实现c#和Matlab混合编程的关键是找到两者之间合适的接口办法,使C}}方便高效地调用Matlab的功能并传送和接收数据,同时能够在不进行修改或很小修改的情况下充分利用已有的Matlab资源。组件对象模型(ComponetObjectModel,COM)是一种以组件为发布单元的对象模型,这种模型使各软件组件可以用一种统一的方式进行交互。COM提供了组件之间进行交互的规范,也提供了实现交互的环境|2J。这种交互使得一种语言编写的程序能调用另一种语言编写的软件组件,实现了与编程语言无关的软件重用。调用端被称为客户,被调用端是组件对象,两者的相互作用建立在简单客户,服务器模型机制基础之上。组件对象以动态链接的可执行软件单位作为载体,接口提供了客户与组件之间进行通信的协议或规范。c#对cOM的支持c#是.NET环境的核心开发语言,.NET环境对COM提供了运行库可调用包装(Runtimewrapperm,Rcw)的形式来处理对COM组件的调用。RCw将COM组件提供的c0M接口转换为与.NET框架兼容的接口,使托管客户端在调用一个c0M组件时认为是在自身的环境中调用对象,而不需要处理c0M特性。通过Rcw,c群可以在.NET环境下作为一个c0M应用的客户端访问COM组件。Matlab对c0M的支持Matlab提供了对c0M的支持,可以作为一个自动化服务器,为跨越进程甚至网络访问和使用Matlab的功能提供了一个途径。支持COM应用的客户端作为应用的前端,Matlab作为COM应用的服务器运行在后台,两者利用Matlab提供基金项目:国家“863”计划基金资助项目(2006AAlOA306)一87—No.14ConlputerEngineering2008文献标识码,A中圈分类号,TP3ll(国家农业信息化工程技术研究中心,北京100097)c#与Matlab混合编程的2种方法,一种是通过c}}使用Matlab提供的自动化服务,另一种是使用MatJabBuilder将M语言文件编译成COM组件供C#调用。以地理信息系统中常用的空间插值分析为例给出了这2种方法的具体实现。对_两者进行比较,提出了各自的适用范围。结果表明使用cOM技术实现混合编程能充分发挥VisualC样与Matlab各自的特点,提高程序开发和运行效率。c帆葺言;Matlab软件;混合编程;组件对象模型Agriculture,BeqinglAbstractlTwo印pmaches0bjectautom“oninⅥsualtwo印pmaches.111ead印石Ve印plicationIKeywordslⅥsual2作者筒介:姚光强(1980一),男,硕士,主研方向:农业信息技术;陈立平,副研究员、博J二收稿日期:2007-08一15CoMYA0Guang-qiang,CHENLi-pjng(NationalEnginee—ngResearchCenterforTechno】ogyinO【)097)ofintegratedpmgrammingbasedModeI(COM)arei