您当前所在位置:首页 > 论文 > 计算机论文 > VB论文

探究vb与matlab混合编程

编辑:sx_zhangjh

2014-11-04

探究vb与matlab混合编程

精品学习网小编为您整理了vb与matlab混合编程,网站内容每天更新,欢迎大家时时关注哦!

1 VB和Matlab混合编程的方法和算例由于Matlab本身只提供了Fortran、C语言的接口程序,所以无法直接实现VB对Matlab的调用.故Matlab与VB混合编程中需要解决的关键是如何实现在VB中调用Matlab. Matlab与VB混合编程的方法主要有下面4种.

1·1 ActiveX技术ActiveX技术是以组件对象模型(componentobject model,COM)技术为基础的一种应用程序开发技术和体系结构的总称,它是Microsoft公司提供的一种用于模块集成的新协议,它允许应用程序或组件控制另一个应用程序或组件的运行. Matlab5.

0以上的版本均支持ActiveX的嵌入.因为VB支持ActiveX自动化控制端协议,Matlab支持ActiveX自动化服务器端协议,所以VB和Matlab的通信有两种:一种是自动化服务器,另一种是自动化控制器.本文重点探讨VB如何通过ActiveX接口将Matlab作为VB的一个ActiveX部件,实现数值计算和图形显示.要实现这种功能,用户首先必须获得Matlab ActiveX对象在系统注册表中定义的名字─Matlab.Application.在所编写的程序中必须有如下的代码:Dim Matlab as ObjectSet.

Set Matlab = CreateObject (“Matlab. Applica-tion”),Matlab.Application对象主要有3个函数,具体如下:

1) Function Execute (Command as String) asString.

VB可执行一条由Command字符串决定的Matlab指令或在Matlab的工作空间调用M函数文件,在屏幕上显示图形或计算结果.

2)Sub GetFullMatrix(Matr-Name as String,Workspace as String,Var-Real()as Double, Var-38Imag() as Double).

通过GetFullMatrix方法,VB从指定的Matlab工作空间中获取指定变量名的矩阵数据.

3)Sub PutFullMatrix(Matr-Name as String,Workspace as String,Var-Real()as Double, Var-Imag() as Double).

VB可以将指定变量名的矩阵数据保存到Mat-lab的工作空间中去.

下面的简单例子通过ActiveX技术实现VB对Matalb的调用.在VB下创建工程,给窗体加上两个控件.一个控件是text1,将其属性中的text项设置为空;另一个控件是command1,将其属性的cap-tion项设置为result.程序的代码如下:

Private Sub Command1-Click()Dim result as StringDim Matlab as ObjectSet Matlab=CreateObject(“Matlab.Appli-cation”)Result=Matlab.execute(text1.Text)End运行后,在text1中输入如下代码:

[x,y]=meshgrid(-3:.125:3);z=peaks(x,y);meshc(x,y,z);grid on;程序的运行结果见图1.

标签:VB论文

免责声明

精品学习网(51edu.com)在建设过程中引用了互联网上的一些信息资源并对有明确来源的信息注明了出处,版权归原作者及原网站所有,如果您对本站信息资源版权的归属问题存有异议,请您致信qinquan#51edu.com(将#换成@),我们会立即做出答复并及时解决。如果您认为本站有侵犯您权益的行为,请通知我们,我们一定根据实际情况及时处理。