没有合适的资源?快使用搜索试试~ 我知道了~
首页VB与Matlab混合编程方法--MatrixVB简易教程
资源详情
资源评论
资源推荐

3.1 MATLAB 与 Visual Basic
语言的混合编程方式
MATLAB 提供了与 C/C++、Fortran 语言的接口,但没有与 Vsiual Basic 语言的接口,要想实现
MATLAB 与 Visual Basic 的混合编程可以通过以下途径来实现。
1.通过 ActiveX 方式
一是用 Visual Basic 开发服务器 ActiveX 组件,MATLAB 作为客户端程序使用,事实上无论是用
VB 还是 VC 或者其他语言环境开发的 ActiveX 组件,对于 MATLAB 来说集成与调用方式是一
样的,一般情况下很容易地将不同环境下开发的用途各异的 ActiveX 对象集成到一个 MATLAB
应用中来。其使用方法见第 5 章关于 MATLAB 作为 ActiveX 的客户端使用方法。
二是在 VB 环境下可以通过 ActiveX 自动化接口将 MATLAB 作 为 Visual Basic 语言 的 一 个
ActiveX 部件调用。MATLAB ActiveX 自动化服务的功能主要包括在 MATLAB 工作空间执行
MATLAB 命令,以及直接从工作空间存取矩阵等,我们在第 5 章中关于 MATLAB 作为服务器
组件的部分的例子就是以 Visual Basic 应用程序,以 MATLAB 作为服务器客户端的。
2.通过动态链接库方式
该种方式是一种间接调用 MATLAB 命令的方式,借助于 C++与 MATLAB 的接口,将 MATLAB
的程序文件(.M 文件)编译为动态链接库(.DLL),VB 在代码中与调用其他语言编写的 DLL 文件
一样调用 MATLAB 中.M 文件生成的动态链接库。这种方法可以脱离具体的 MATLAB 环境,运
行效率较高。
3.通过嵌入 VB 的矩阵函数库 MatrixVB 的方法
MatrixVB 是由第三方(mathtools 公司)提供的 COM 组件,包含了大量与 MATLAB 相似的函数与
调用语法,可以加强 VB 内建数学运算与图形展示功能,在 VB 程序代码中可以像使用 VB 自己
的函数一样使用 MatrixVB 的函数,而且可以不依赖于 MATLAB 的环境在 Visual Basic 中完成矩
阵运算与图形绘制显示等功能,这种方法使用起来简单,编程效率较高。MatrixVB 函数库的功
能大致可分为 8 大类(矩阵运算、运算符重载、图形图像处理、最优化运算、多项式、信号处理、
随机与统计分析、控制系统)。
除以上 3 种方式外,我们还可以通过 DDE 的方式实现 VB 与 MATLAB 的数据通信。
3.2 MatrixVB 环境设置
3.2.1 在 VB 应用中引入 MatrixVB

1.安装 MatrixVB
(1) 系统要求为:
●&&&& 硬盘空间 8.8M 以上;
●&&&& 操作系统要求 Windows 95 及其以上版本,或者 Windows NT 4.0 及其以上版本。
(2) 在安装盘上找到 Matrixvb4510.exe,双击后启动安装程序,并按照安装向导安装。
(3) 然后在“开始→运行”菜单中用命令 regsvr32 mMatrix.dll 注册,如图 7-1 所示。
图 7-1& 注册 MatrixVb
2.建立 EXE 项目
(1) 启动 VB 开发环境并建立“标准 EXE”项目,如图 7-2 所示。
图 7-2& 选择标准 EXE 工程模板
(2) 单击“打开”按钮,所建立的项目及开发界面如图 7-3 所示。

图 7-3& VB 项目及开发界面
3. 为项目引入 MatrixVB
在 project 下拉菜单中单击 References,在弹出的对话框中选中 MMatrix 项目,系统将加载
MatrixVB 的动态链接库 MMatrix.DLL,如图 7-4 所示。
图 7-4& 引入 MatrixVB 的动态链接库
3.2.2 在 VB 中使用 MatrixVB 的命令与函数
1.采用立即窗口的形式
在项目中引入 MatrixVB 库后,在 VB 中可以直接在开发环境的“立即窗口”中输入 MATLAB 命令,
让 VB 编译器立即执行,如在 MATLAB 主窗口中一样。在 View 下拉菜单的中选择 Immediate

Windows 选项在开发环境中得到“立即窗口”,如图 7-5 所示。
图 7-5& VB 中的立即窗口
例如,在“立即窗口”中输入如下命令:
&&&&& A=eye(4,4)
A.show
命令将产生一个 4 行 4 列的单位矩阵,并在 MatrixVB 的观察窗口 Matrix Viewer 中显示结果,
如图 7-6 所示。

图 7-6& 在 VB 立即窗口中产生矩阵
或者,在“立即窗口”中输入命令:
&&&& mesh(peaks(3))
将在 MatrixVB 的图形窗口 Figure1 中绘制并显示一个曲面网线图,如图 7-7 所示。
图 7-7& 通过立即窗口绘制曲面图
2.在 VB 程序代码中使用
可以将 MatrixVB 的函数与命令调用嵌入到 VB 程序代码中实现相应的功能,其函数与命令的使
用方式类似于在 MATLAB 环境中的使用方式。例如,我们可以将上例中的功能在 VB 代码中实
现,步骤为:
(1) 在上例的主窗口中增加一个按钮,如图 7-8 所示。
剩余29页未读,继续阅读






安全验证
文档复制为VIP权益,开通VIP直接复制

评论2