文件名称:利用activeX实现matlab和vb的混合编程-vb_matlab_activeX.rar
文件大小:2KB
文件格式:RAR
更新时间:2022-09-01 17:13:26
matlab
利用activeX实现matlab和vb的混合编程-vb_matlab_activeX.rar 想要在vb里面直接执行matlab的代码吗?想省去编译dll文件的代码吧? 好的,activeX帮你实现这样的功能. activeX简介: ActiveX部件是Microsoft公司提供的一种用于模块集成的新的协议,它是Visual Basic工具箱的扩充部分。在程序中加入ActiveX后,它将成为开发和运行环境的一部分。Matlab实现了ActiveX自动化服务支持,在Visual Basic下通过ActiveX自动化接口可将Matlab作为Visual Basic语言的一个ActiveX部件调用,实现VB与MATLAB间的无缝集成,该方式比较适合C/S模式,具有自动化程度高、效率高、占用资源少、数据交换能力强等优点,大大缩短了程序开发周期,优化了系统性能。 activeX运用: 使用ActiveX部件,首先必须获得Matlab ActiveX对象在系统注册表中定义的名字─Matlab.Application。在VB中创建ActiveX对象的代码如下: Dim Matlab as Object. Set Matlab = CreateObject Matlab.Application对象主要有3个函数,具体如下: (1) BSTR Execute([in]BSTR Command)方法 接受单一的字符串(Command), MATLAB将运行命令及结果作为一个字符串返回。用于执行一个合法的MATLAB命令; (2) PutFullMatrix方法 void PutFullMatrix pr, [in] SAFEARRAY pr, [in] SAFEARRAY pi ) 将一个指定变量名的一维或二维数组(mxArray)放入工作空间。 (3) GetFullMatrix方法 void GetFullMatrix pr, [in] SAFEARRAY pr, [in] SAFEARRAY pi ) 通过GetFullMatrix方法,从指定的工作空间检索一个完整的一维或二维的实型或虚型数组(mxArray),其实部和虚部分别存放到两个单独的Double型数组中。[2] 通过这三种方法,可以方便地利用Matlab执行命令,从VB向Matlab中输送数据或者从Matlab中获取数据。 实例举例: 1.程序功能: 给出三个变量:x=0:0.05*pi:10*pi;y=sin;z=cos 并且做出x,y,z的三维图形,并在vb的image窗口中显示, 下面是vb程序的界面,只有一个command按钮和image图片框 程序界面.jpg 下面是程序的运行结果: 程序运行结果.jpg 2.代码 Dim Matlab As Object Dim Result1 As String Dim Result2 As String Dim Result3 As String Private Sub Command1_Click() Result1 = Matlab.Execute;z=cos") Result2 = Matlab.Execute") Result3 = Matlab.Execute") Image1.Picture = Clipboard.GetData() Call Matlab.quit '退出Matlab End Sub Private Sub Form_Load() Set Matlab = CreateObject End Sub 3.程序源程序: vb_matlab_activeX.rar
【文件预览】:
vb_matlab_activeX
----vb_matlab_activeX_fr.frm(1KB)
----vb_matlab_activeX_pjc.vbp(656B)
----vb_matlab_activeX_pjc.vbw(49B)
----MSSCCPRJ.SCC(206B)