![](https://csdnimg.cn/release/download_crawler_static/87407665/bg1.jpg)
相关图片如下:
VB 与 MATLAB 混合编程探讨
摘要:介绍了VB与MATLAB混合编程的方法,二者结合可以充分利用VB的方便快捷和MATLA
B软件工具箱的强大功能。
关键词: VB VC++ MATLAB DLL 编译 MATLAB Add-in
MATLAB是MathWorks公司开发的科学计算环境,具有强大的计算绘图能力,提供大量的函
数库、工具箱,几乎涵盖了所有的工程计算领域,被誉为“演算纸”式的工程计算工具。但是MATLAB
语言是一种解释执行的脚本语言,运算速度较慢是一个比较突出的问题。
Visual Basic作为一门易学易用的编程语言,受到很多工程技术人员的青睐,其执行速度相对
较快,界面友好。因此实现VB与MATLAB混合编程,可以为科研工作和工程应用提供有力的技术支
持。
1 基本思路及实现方法
MATLAB提供了与C++、Fortran的程序接口,并没有提供直接与VB的接口。目前VB与M
ATLAB混合编程方面主要使用以下一些方法:
(1)在VB中通过调用MATLAB的引擎(Engine)接口,使用Windows的OLE或Ac
tiveX通道与MATLAB通信。通过Object.Execute�MATLAB语句�在程序
中直接使用MATLAB提供的函数库和图形库。这种方法可以较快地编写出程序;但在调用引擎时,会
在后台启动一个MATLAB进程,影响程序运行速度,占用内存。
(2)通过使用嵌入VB的矩阵函数库MatrixVB的方法。MatrixVB是由原MathTo
ols公司开发的第三方插件,利用与MATLAB相似的函数、语法嵌入到VB中,可以象使用VB的
函数、命令一样使用MATLAB函数。这种方法语法和函数使用比较简单,编程效率很高,几乎完全融
入VB语言,特别对图形的处理非常方便,弥补了其他方法在图形处理上的弱点。安装后,只需在打开的
工程中添加MatrixVB库即可(在工程->引用对话框中选中MMatrix)。但由于其仍然采用
解释执行,执行效率较低,实时运算难以实现。
(3)借助Visual C++与MATLAB的接口,将MATLAB的程序文件(.M)编译为动态
链接库(.DLL),VB在代码中调用生成的.DLL中的函数,实现算法,便于用户脱离MATLAB
环境使用。由于算法部分采用C++语句,运行速度较快,可应用于实时运算。这种方法对开发者在设置
和编程上有一定要求,本文将详细阐述具体实现步骤。其基本思路如图1所示。