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

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

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

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

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

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

第2O卷第4期山东理工大学学报(自然科学版)V01.2ONO.4 2006年7月JournalofShandongUniversityofTechnology(Sci&Tech)Ju1.2006 文章编号:1672—6197(2006)04—0026—04 基于COM的MATLAB与 C#.NET混合编程的实现与应用 赵士伟,赵明波,陈平 (山东理工大学计算机科学与技术学院,山东淄博255049) 摘要:介绍了一种基于COM组件的MATLAB与C#.NET混合编程的实现方法.论述了 MATLAB中COM组件的编程、利用COMBuilder开发COM组件、组件的注册以及在C#. NET中接口、调用的方法,并给出了在数据采集中曲线拟和的实例. 关键词:C0M;MATLAB;C#.NET;混合编程 中图分类号:TP311.11文献标识码:A ImplementationandapplicationofMATLAB&C#.NET integratedprogrammingbasedonCOM ZHAOShi—wei,ZHAOMing—bo,CHENPing (SchoolofComputer.ScienceandTechnology,ShandongUniversityofTechnology,Zibo255049,China) Abstract:AmethodofMATLAB/C#.NETintegratedprogrammingbasedonCOMisin— troduced.Thefollowingtechniquesaredemonstratedindetail,includingprogrammingwith COMinMATLAB,developingCOMcomponentswithCOMBuilder。registeringC【)Mcom— ponentandhowtouseCOMinC#.NET.Anexampleofdatagatheringisgiven. Keywords:COM;MATLAB;C#.NET;hybridprogramming MATLAB是MathWorks公司于1982年推出是解释性语言,大大限制了它的执行速度;源代码 的一种功能强大、效率高、交互性好的数值计算和的公开不利于算法和数据的保密;局限于MAT— 可视化计算机高级语言,它集数值计算、信号处理LAB运行环境而不能用于开发商用软件. 和图形分析等功能于一体,被称为演算纸式的语C#.NET是针对.NET平台而设计的,是微 言⋯.它强大的功能为各领域的应用提供了基础,软.NET计划中的主要开发语言.利用C#.NET 已经从最初的“矩阵实验室”渗透到科学与工程计开发的系统具有界面友好、执行速度快、易维护和 算的多个领域,如信号处理、自动控制等_1].MAT—升级等优点,能够生成可执行文件能有效的保护 IAB作为一种高级语言,具有极高的编程效率,但算法和数据,并可脱离编程环境运行.但是在 它也存在一些缺陷:界面开发能力较差!;使用的工程计算方面,和MATLAB相比编程显得复杂 收稿日期:2005—11—24 作者简介:赵士伟(1980一).男.硕士研究生. 第{期赵士伟。等:基于COM的MAT1AB与C#.NET混合编程的实现与应用 的多.因此实现C#.NET与MATIAB混合编任务.该类具有polynihe和polynihel2种方法, 程.使两者结合起来。协同工作,必将提高软件开分别完成带图形显示的多项式曲线拟和和不带图 发效率.使所开发的软件具有更高的性能,更大的形显示的多项式曲线拟和的功能.还具有X,Y2 应用范围。也可以为科学研究和工程技术提供更个属性.文章中的实例在Matlab7.0和Mi— 强的技术支持.crosoftVisualStudio.NET2o03中调试通过. 2.1C0M组件的编程 1C()M介绍1)添加类的方法 在Matlab中编写polynihe.m和polynihe1. 组件对象模型(ComponentObjectModel。m2个函数.其中polynihe.m实现最小二乘的多 c()M)。是组件之间相互接口的规范,是0LE项式曲线拟和,返回拟和的参数并将拟和结果图 (ObjectLinking&.Embedding)和ActiveX共同形显示出来,polynihe1.m也同样实现最小二乘 的基础.其作用是使各种软件构件和应用软件能的多项式曲线拟和,返回参数但并不显示图形结 够用一种统一的标准方式进行交互.C0M不是果. 一种面向对象的语言。而是一种与源代码无关的2)添加类的属性 二进制标准.COM所建立的是一个软件模块与类的属性允许对象在方法调用之间保留一个