王志军 宋文婷
摘 要 介绍了基于COM技术实现Delphi动态调用MATLAB的方法,以曲线拟合为例,详细分析了数据通信的实现方法及COM组件中方法、事件、属性与M文件的对应关系,为快速掌握Delphi与MATLAB混合编程、开发高效的程序提供参考。
关键词 COM组件,Delphi,MATLAB,接口编程
一、引言
MATLAB是一种高效率的科学工程计算语言,它在矩阵运算、数值计算、数字信号处理、系统识别、自动控制、神经网络、遗传算法、支持向量机、图形显示等方面比其他语言有难以比拟的优势,目前它已成为研究人员必不可少的工具软件。Delphi语言是一种功能强大的面向对象编程语言,具有快速开发、易学易用、界面制作美观方便等优点。
但MATLAB交互性能较差,程序的通用不强,从而导致其效率降低,而Delphi在数值处理分析和算法工具等方面的开发难度大,其能力远远低于MATLAB语言,为此,将两者结合运用,可实现优势互补,获得更大的效益。由于MATLAB与Delphi软件本身并没有提供数据互调的接口,所以关于如何实现两者的接口成为目前研究的热门问题。
COM(Component Object Model)为Windows提供的一种面向对象的、可扩充的通信协议,本系统采用MATLAB自带的COM Builder来生成COM组件,从而实现MATLAB与Delphi之间的数据通信,经反复试验表明,该方法开发过程相对简单,使用简便,是值得提倡的一种好方法。
二、外部编译器的安装
在应用MATLAB COM Builder编译生成COM组件之前,应先安装外部编译器,因为MATLAB COM Builder只能借助于外部编译器才能编译生成COM组件。MATLAB COM Builder只支持下列编译器:Borland C++ Builder (3, 4, 5,6)、Microsoft Visual Studio (5.0, 6.0)及Microsoft Visual Studio.NET。笔者使用的是Microsoft Visual Studio 6.0编译器。
|