VB调用MATLAB步骤
VB实现对MATLAB程序的调用
VB 实现对MATLAB 程序的调用
The Method to Use MATLAB in VB Software
周竹生 陈灵君 张赛民(中南大学 长沙 410083)
【摘 要】 充分利用M ATLAB 强大的运算及显示功能和VB 开发界面友好的特点,将二者有机结合,可以开发出复杂的、界面友好的人机交互处理软件。重点介绍了应用VB 和M AT LAB 进行混合编程的几种技术,熟练掌握这些技术,将使编程工作变得轻松自如。
【关键词】 VB,MAT LAB,混合编程,ActiveX 技术,DLL
ABSTRACT T aking full adv ant age o f features of st ro ng capability in co mputing and displaying of M AT L AB ,and featur es o f fr iendly int er face of V B,and or ganizing the tw o to ols pr oper ly ,any co mplicated pro cessing so ftw ar e w ith friendly inter activ e inter -face may be ex ploit ed,this paper discusses thr ee hybrid pr og ramming metho ds o f using M AT L AB in VB so ftwa re.Having these techniques at o ne's fing er ends ,the pr o gr amming wo rk w ill be easy .
VB环境下引用Matlab的方法
VB环境下引用Matlab的方法
孙吉帅
【期刊名称】《电脑编程技巧与维护》
【年(卷),期】2014(0)10
【摘要】由于Visual Basic软件在数值计算方面存在不足,通过有效的途径链接计算语言Matlab,使两者更好地进行数据交换,可以大大方便在某些特定领域的用户.提供了三种可以借鉴的方法,实现VB与Matlab的数据链接.
【总页数】2页(P93-94)
【作者】孙吉帅
【作者单位】71799部队,山东淄博255300
【正文语种】中文
【相关文献】
1.VBA及MATLAB环境下焊接机器人计算机图形仿真系统的开发 [J], 邓宇;梁飞华;岑健;邢镇容
2.VB与MATLAB环境下的机械加工过程蒙特卡罗仿真 [J], 宋丹;周全申;李本军;刘启航
3.基于VB2010环境下大型Excel表格自动分组分级显示的实现方法 [J], 王东华
4.AutoCAD.VBA与MATLAB环境下的机器人运动学仿真 [J], 梁飞华;黄玉新;邓宇;曾亚森;邢镇容
5.AutoCAD.VBA与MATLAB环境下的机器人运动学仿真 [J], 梁飞华;黄玉新;邓宇;曾亚森;邢镇容
因版权原因,仅展示原文概要,查看原文内容请购买
关于vb,vc调用matlab的m.文件生成的dll.文件
Matlab函数转换为VB可用的DLL
Matlab函数转换为VB可用的DLL
段晓君
摘要:一种利用Matcom将Matlab函数转换为VB中可用的动态链接库的方法,操作简单易行。
关键词:Matlab函数动态链接库DLL M-文件VB语言
1 Matlab简介
Matlab是MathWorks公司开发的一种工程计算语言。它是一个交互系统,在Matlab 中的基本数据元素是一个不要求维数的复矩阵。用Matlab可解决很多工程计算问题,特别是涉及到矩阵和矢量形式的问题。Matlab是一个高度集成的语言环境,在它的界面下可以编写程序、运行程序并可进行跟踪调试。对于广大的工程技术人员和科学研究人员来说,Matlab不失为一种很好的工具。
Matlab也有局限性,一般它不能脱离Matlab集成环境工作;而且编写界面的功能比较弱。
Matcom是一个从Matlab到C++的编译器,它可以节省用户的运算时间和内存要求。MathTools公司利用Matcom技术编写了Mideva工具软件,它可以借用C++编译器将Matlab下的M-文件转换为可被Visual Basic、Excel以及Delphi调用的DLL 动态链接库或者是独立的可执行文件。本文就M-文件到DLL的转换以及在VB中调用这一类DLL 的2个问题做了一些探讨。文中针对Matlab5.0、VC5.0、VB5.0、Matcom4.0或相应的更高版本的软件进行了讨论。
2 M-文件到DLL的转换
要将一个m-文件编译成DLL,需进行如下操作:启动运行Matcom4的Mideva,点
VB调用Matlab的COM组件实现二者混合编程
* 2007-12-27收到,2008-04-05改回
** 基金项目:国家863课题(编号:2006AA 10Z 260)资助。
***孟力力,女,1982年生,硕士研究生,研究方向:温室环境建模与可视化模型。
文章编号:1003-5850(2008)06-0024-03
VB 调用Matlab 的COM 组件实现二者混合编程
Hybrid Pr ogr amming by Using COM of Matlab in VB Software
孟力力 杨其长
(中国农业科学院农业发展与可持续发展研究所 北京 100081)
【摘 要】Matlab 具有强大的计算和图形处理能力,VB 具有良好的用户界面,将二者有机结合,可开发出功能强大的软件。介绍了常见的五种方法。为了使开发的VB 程序脱离Matlab 环境,详细介绍了一种基于组件对象模型(COM)的Matlab 与VB 混合编程方法,以COM Builder 为转换工具,将Matlab 函数文件转换为COM 组
件,在VB 程序中调用这个组件。并通过温室热环境模拟可视化模型的实现说明此方法。【关键词】VB,Matlab,COM 技术,可视化模型
中图分类号:TP 311.11
文献标识码:A
ABSTRACT Matlab has power ful calculating and gr aphic pr ocessing ability ,VB has good user inter face .T he softwar e with powerful functions is developed based on combination of the above.Five methods are intr oduced in this paper.In or der to develop the VB pr ogr am wit hout Matlab environm ent ,the met hod based on COM is intr oduced in det ail.By mea n of Mat lab COM builder ,Matlab's function files can be converted into a COM component,which is applied in t he VB.The met hod is demonstr ated by implement ation of visual simulation model of gr eenhouse ther mal envir onment.KEYWORDS VB ,M atla b ,COM builder ,visual m odel
VB与Matlab混合编程
一、准备工作
(1)matlab版本2012或以上
(2)vb6.0
二、适用条件
matlab生成的无论是应用程序还是动态连接库或者是COM组件都需要MCR的支持,MCR因用户安装的Matlab版本不同分为32位和64位,所以为了能够将自己编译的M文件能够应用于其他的电脑上,首先要在目标电脑上安装自己电脑中MCR这个应用程序,它的存放位置为Matlab路径\ toolbox\compiler\deploy\win64
三、Matlab与VB基于Com组件的实现过程
(1)在Matlab中生成M文件的COM组件
打开App菜单栏,找到Matlab Complier单击进入应用,会出现上图的界面,在Classes 中可以添加自己要用的类群,所谓的类群就是好比如果你想建立一个专门用于解决非线性方程的类,就可以建立个nonlinear equations solver,在类下可以添加用于解决非线性方程的各种M函数文件。在这里我建立了fft类,在这个类中我添加了个myfft.M文件,这个M文件实际上使用了Matlab自带的离散傅立叶变换函数fft,这么做的目的是为了说明我们可以调用matlab已经建立好的各种算法,方便的在vb中调用。添加好所需要的资源,点击build就OK了。
(2)注册生成的COM组件
在Build Success后会在你选择生成Com组件的文件地址发现两个文件distrib和src,在
distrib文件里你会发现你生成.dll文件,在电脑上注册它就可以在vb上调用。至于怎么注册,自行脑补。
VB调用MATLAB混合编程教程(完整版)
VB与MATLAB混合编程探讨
摘要:介绍了VB与MATLAB混合编程的方法,二者结合可以充分利用VB的方便快捷和MATLAB软件工具箱的强大功能。
关键词:VBVC++MATLABDLL编译MATLABAdd-inMATLAB是MathWorks公司开发的科学计算环境,具有强大的计算绘图能力,提供大量的函数库、工具箱,几乎涵盖了所有的工程计算领域,被誉为“演算纸”式的工程计算工具。但是MATLAB语言是一种解释执行的脚本语言,运算速度较慢是一个比较突出的问题。
VisualBasic作为一门易学易用的编程语言,受到很多工程技术人员的青睐,其执行速度相对较快,界面友好。因此实现VB与MATLAB混合编程,可以为科研工作和工程应用提供有力的技术支持。
1基本思路及实现方法
MATLAB提供了与C++、Fortran的程序接口,并没有提供直接与VB的接口。目前VB与MATLAB混合编程方面主要使用以下一些方法:
(1)在VB中通过调用MATLAB的引擎(Engine)接口,使用Windows的OLE或ActiveX通道与MATLAB通信。通过Object.Execute MATLAB语句在程序中直接使用MATLAB提供的函数库和图形库。这种方法可以较快地编写出程序;但在调用引擎时,会在后台启动一个MATLAB进程,影响程序运行速度,占用内存。
(2)通过使用嵌入VB的矩阵函数库MatrixVB的方法。MatrixVB是由原MathTools公司开发的第三方插件,利用与MATLAB相似的函数、语法嵌入到VB中,可以象使用VB的函数、命令一样使用MATLAB函数。这种方法语法和函数使用比较简单,编程效率很高,几乎完全融入VB语言,特别对图形的处理非常方便,弥补了其他方法在图形处理上的弱点。安装后,只需在打开的工程中添加MatrixVB库
在VB6.0中调用和操作MATLAB
开发工 具 .它具 有 功能 强大 , 学易 用等 特点 , 易 目前世
界 上有 数 以 百 万计 的 程 序 员 把 它 当作 首 选 的编 程工 具 , 一 种 十 分 有 生 命 力 的 W id w 是 n o s编 程 语 言 . M al t b是 美 国 的 Mah rs 司 于 1 8 a tWok 公 9 4年 推 出 的 产 品 , 至 今 日它 已 发 展 成 为 当今 国 际 公 认 的 最 优 时 秀 的科 技 应 用 软 件 . 它 的 内 核 由 C 语 言 编 写 , 有 强 具 大 的数值 计算 , 号计 算 和矩 阵计算 能 力, 面 友好语 符 界
关 键 词 : 6 0语 言 ; d b 互 动 式 元 件 VB . Ma a ;
Ab tac : nto u e e me h fo e a i g M a l b wih t e sr t I r d c s a n w t o o p r tn d t t h a t c n lg fAc i e . e h o o y o t X Thr u hi m e h d,ntgr t h iu l v o gh t s t o i e a e t e v s a itra eo n e f c f VB n h b l y o n l i ofM a a a d t e a i t fa ayss i l f b. Ke r s VB6 0; a lb; t e y wo d : M ta Ac i X v
浅谈VB程序中MATLAB方法的应用
根据 A c t i v e X 自动化 协议 的规 定 . 一个 应用程 序 ( 通 常是 指控制 端) 对另外一个应用程序 ( 通 常是指服务器端 ) 实施控 制 因为 V B协 议可 以向 Ac t i v e X自动化控制端协议提供支持 . A c t i v e X自动化服务器 端 协议 可 以得到 M A T L A B的支 持 .所 以 .当一 个 V B应用 程序 与 MA T L A B建立起 A c t i v e X 自动化连接 的情况下 . 便可 以根据 实际需求 在 V B程 序 中对 MA T L AB命令 进行 调 取 .同时将矩 阵 数组 发送 到 MA T L A B或者是接收来 自于 MA T L A B的矩阵数组 “ Ma t l a b . A p p l i c a t i o n ” 是 MA T L A B的 A c t i v e X 在 Wi n d o w s 注 册 表 中 的对象名 通常情况下 . 在V B应用程序中进行 Ac t i v e X对象 的创建大 致需 要经过 D i m Ma t l a b a s 0 b i e c t 、 D i m R e s u l t 8 S S t r i n g 、以及 S e t
◇ 高教论述◇
科 技 嚣向导
2 0 1 3 年第0 6 期
浅谈 V B程序中 MA T L A B方法的应用
基于VB与Matlab的混合编程方法_隗燕琳
步骤3 生 成 组 件:在 Build 菜 单 中 选 择 Com Object选 项来调用 Matlab编译器,把中间源 文 件 写 到 指 定 目 录 的 子 目录src中,将必要的输出文件写到指定目录的 子 目 录 dis- trib中,出现在 distrib 目 录 中 的 将 是 一 个 DLL 文 件 (该 文 件将自动注册于系统中),也 是 用 户 在 VB 中 所 需 调 用 的 文 件。
Dim example2 As mycomponent.myclass Private Sub Form_Load() Set example2 =New mycomponent.myclass example2.mfile_name(parameter list) End Sub 其 中 example2 为 变 量 名,mycomponent.myclass 为 DLL 文件名略去版本号,mfile_name为 m 函 数 文 件 的 文 件 名,parameter list为 m 函数文件的参数。 CreatObject函数方法 不 需 要 引 用 VB 工 程 的 类 库,使 用简 单 灵 活 但 速 度 慢;New 操 作 符 方 法 可 以 获 得 更 快 的 运 行效果。 2.2 采用动态数据交换 DEE 方法编程 DDE(Dynamic Data Exchange)是 一 种 开 放 的、与 语 言 无关的、基于消息的协议,它是应用程序通 过 共 享 内 存 进 行 通信的一种形式[3]。应用程序通过 DDE 交 换 数 据 时 ,交 换 发起方的应用程序称 为 客 户 端,交 换 响 应 方 的 应 用 程 序 称 为服务器端。当两应用程序建立 DDE 通 信 时,必 须 确 认 三 个参数,分别为服务器名、主题和项目。服 务 器 名 一 般 是 服 务器端应用程序的名 称,主 题 是 服 务 器 端 应 用 程 序 交 换 的 主题,两者一起确 定 一 次 交 换,项 目 即 为 DDE 过 程 中 传 递 的数据。 DDE 方 法 编 程 是 利 用 Matlab 提 供 的 客 户/服 务 器 (Client/Server)功能和 VB 的 DDE 功 能,实 现 在 Matlab与 VB 应用程序间数据交换。 (1)Matlab与 VB 的 DDE 编程 为了充分利 用 Matlab 强 大 的 数 学 计 算 功 能 和 VB 在 图形化界 面 设 计 方 面 的 优 势,一 般 把 Matlab 作 为 服 务 器 端,VB 作为客户端。VB 应 用 程 序 首 先 通 过 确 定 服 务 器 名 和主题建立与 Matlab 的 DDE 会 话,服 务 器 名 和 主 题 唯 一 地 确 定 作 为 客 户 端 ,Matlab 作 为 服 务 端 ,客 户 端 与 服 务 端 可 以就确定的项目交换数据。VB 应 用 程 序 中 需 指 明 的 Mat- lab的服务器为 Matlab,Matlab有 System 和 Engine两个主 题,在 System 主 题 下 可 以 列 出 Matlab 所 提 供 的 详 细 的 DDE 功能,在 Engine主题下充分实现 Matlab的 服 务 功 能。 利用 VB 具 有 的 DDE 客 户 端 功 能,使 用 Matlab 的 Engine
vb中调用模块中的代码
vb中调用模块中的代码
在VB中,要调用模块中的代码,你可以使用模块名称和代码的
标识符来引用它们。下面是一些常见的方法:
1. 使用模块名称和代码标识符直接调用:
vb.
ModuleName.CodeIdentifier.
例如,如果你的模块名为"Module1",代码标识符为"Sub1",你可以这样调用:
vb.
Module1.Sub1。
2. 使用模块名称和代码标识符创建对象并调用:
vb.
Dim obj As New ModuleName.
obj.CodeIdentifier.
例如,如果你的模块名为"Module1",代码标识符为"Sub1",你可以这样调用:
vb.
Dim obj As New Module1。
obj.Sub1。
3. 将模块中的代码声明为公共(Public)并在其他地方直接引用:
vb.
Public Sub Sub1()。
' 代码内容。
End Sub.
在其他地方直接使用代码标识符来调用:
vb.
Sub1()。
4. 如果模块中的代码是函数(Function),可以使用返回值来调用:
vb.
Dim result As DataType.
result = ModuleName.FunctionName(arguments)。
例如,如果你的模块名为"Module1",函数名为"AddNumbers",接受两个整数参数并返回整数结果,你可以这样调用:
vb.
Dim result As Integer.
result = Module1.AddNumbers(5, 10)。
请注意,以上是一些常见的方法,具体的调用方式取决于你的模块和代码的结构和设计。确保你在调用模块中的代码时使用正确的模块名称和代码标识符。
MATLAB与VB混合编程方式简易教程
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自动化服务的功能主要包括在MA TLAB工作空间执行MA TLAB 命令,以及直接从工作空间存取矩阵等,我们在第5章中关于MA TLAB作为服务器组件的部分的例子就是以Visual Basic应用程序,以MATLAB作为服务器客户端的。
2.通过动态链接库方式
该种方式是一种间接调用MATLAB命令的方式,借助于C++与MA TLAB的接口,将MATLAB 的程序文件(.M文件)编译为动态链接库(.DLL),VB在代码中与调用其他语言编写的DLL文件一样调用MATLAB中.M 文件生成的动态链接库。这种方法可以脱离具体的MA TLAB环境,运行效率较高。
MATLAB VBA编程 典型实例——通过命令窗口输入数据
MATLAB VBA编程典型实例——通过
命令窗口输入数据
MATLAB VBA编程典型实例——通过命令窗口输入数据
MATLAB是一种强大的数据处理和分析工具,而VBA (Visual Basic for Applications)是微软的一种编程语言,用于编写自动化任务和宏。结合这两种工具,可以实现更广泛的数据处理和分析功能。本文将介绍通过命令窗口输入数据的典型实例,帮助您在MATLAB中利用VBA实现更高效的数据处理。
1. 编写MATLAB脚本
首先,我们需要编写一个MATLAB脚本,用于接收通过命令窗口输入的数据。接下来是一个示例脚本:
% 通过命令窗口输入数据
prompt = '请输入一个数字: ';
input_data = input(prompt);
% 对输入数据进行处理
processed_data = input_data * 2;
% 输出结果
disp(['输入数据: ' num2str(input_data)]);
disp(['处理后的结果: ' num2str(processed_data)]);
end
在上面的脚本中,我们使用了`input`函数来接收从命令窗口输入的数据,并使用`disp`函数将结果输出到命令窗口。
2. 创建VBA宏
接下来,我们需要使用VBA来调用MATLAB脚本并实现通过命令窗口输入数据的功能。
打开Excel,并按下 `Alt + F11` 打开VBA编辑器。在VBA编辑器中,创建一个新的模块,并将以下代码复制到模块中:
Option Explicit
Sub RunMatlabScript()
vb调用matlab程序步骤-wrl修改
先把VB,VC ,matlab都安装好。
例如建立一个 M函数文件,在matlab下调试好你的m文件,如:
function Y=myfunction(a,b)
Y=a+b;
将myfunction.放入E:根目录下。
一.matlab下做com组件,生成dll文件
1. 在matlab的command window里面敲入mex –setup (对matlab编译器配置命令下输入,注意有空格)
Please choose your compiler for building external interface (MEX) files:
Would you like mex to locate installed compilers [y]/n? n
Select a compiler:
[1] Borland C++ Compiler (free command line tools) 5.5
[2] Borland C++Builder 6.0
[3] Borland C++Builder 5.0
[4] Compaq Visual Fortran 6.1
[5] Compaq Visual Fortran 6.6
[6] Intel C++ 9.1 (with Microsoft Visual C++ 2005 linker)
[7] Intel Visual Fortran 9.1 (with Microsoft Visual C++ 2005 linker)
[8] Intel Visual Fortran 9.0 (with Microsoft Visual C++ 2005 linker)
ActiveX_从VisualBasic6_0调用MATLAB的实现方法
End Sub 本程序在一台 Pentium166 微机上调试通过 ,在调用上述
VB 子程序前要求在同一台机器内已安装 MATLAB5. 0 for win2 dows95/ 98 ,并按第二节所述在 Windows95/ 98 的记录簿上登 记 MATLAB 的 ActiveX 项 。上述子程序接受一个长度和宽度 分别为 Height 和 Width 的二维温度场数组 TempField () ,在子 程序开始时首先创建一个 MATLAB 类型的对象 ,此举将导致 VB 通过 ActiveX 协议自动激活 MATLAB 并打开其命令行窗 口 ,随后调用该对象的 MinimizeCommandWindow() 方法使其命 令行窗口最小化 ,接着将绘制三维曲面的数据传送到 MAT2 LAB 工作区内 ,并在屏幕上绘出温度场曲面 ,同时将曲面图 形以 bmp 格式保存到磁盘文件中 。
关键词 :ActiveX 协议 ;MATLAB ;无缝连接
MATLAB 是一种著名的线性系统分析和仿真工具[1 ,2] , 在矩阵运算 、数值拟合 、二维和三维图形的绘制方面具有极 强的功能 ,在国外 ,尤其在美国 ,各著名大学早在 80 年代末 就已把 MATLAB 列为电气工程类专业的必修课 ,是理论分析 和实验研究中必须掌握的技术工具 。
在前面已经提到 ,MATLAB 是一种功能强大的计算工具 和绘图软件 ,但是 MATLAB 只有供 C 或 FORTRAN 语言使用 的编程接口 ,在 Visual Basic 中无法对其直接进行调用 。为了 解决这个问题 ,作者在查阅 MATLAB 技术资料时发现 MAT2 LAB5. 1 版支持 ActiveX 技术 ,经过反复调试 ,成功地实现了在 VB 内部无缝地使用 MATLAB 功能的目的 ,现详细介绍如下 。
VB实现对MATLAB程序的调用
VB实现对MATLAB程序的调用
周竹生;陈灵君;张赛民
【期刊名称】《电脑开发与应用》
【年(卷),期】2004(017)005
【摘要】充分利用MATLAB强大的运算及显示功能和VB开发界面友好的特点,将二者有机结合,可以开发出复杂的、界面友好的人机交互处理软件.重点介绍了应用VB和MATLAB进行混合编程的几种技术,熟练掌握这些技术,将使编程工作变得轻松自如.
【总页数】3页(P21-23)
【作者】周竹生;陈灵君;张赛民
【作者单位】中南大学,长沙,410083;中南大学,长沙,410083;中南大学,长
沙,410083
【正文语种】中文
【中图分类】TP3
【相关文献】
1.在LabVIEW中调用VB的混合编程的实现 [J], 唐鑫;陈珂
2.基于粗集故障诊断系统中VB调用MATLAB程序的实现 [J], 王维标;盛颂恩;王丰美
3.VC++调用Fortran及MATLAB程序混合编程实现 [J], 马清华;王明海
4.在VB 6.0中调用MATLAB程序 [J], 李永曦;陶伟莲;关立行
5.腐蚀管道剩余寿命预测及结构可靠度分析的VB/MATLAB程序实现 [J], 陈典斌;韩东霏;张二保;韩岳洋;刘诗文;张建春
因版权原因,仅展示原文概要,查看原文内容请购买
VB与MATLAB结合
1百度文库 掌握VB中文件的概念、种类及其结构;
2. 掌握文件系统控件(驱动器列表框DriveListBox、
3. 目录列表框DirListBox、文件列表框
FilelistBox。
4. 掌握顺序文件的操作:打开、读/写、关闭;
5. 了解随机文件的操作:打开、读/写、关闭;
VB与MATLAB结合
由于VB支持ActiveX控制端协议,MATLAB支持ActiveX 服 务 器 端 协 议 , 因 此 , 通 过 建 立 一 个 MATLAB 与 VB 之 间 的 ActiveX自动化连接,就可以在VB应用程序中调用 MATLAB的 命令来实现各种功能。 在 WINDOWS 注册表中, MATLAB 的 ActiveX 对象名为 “Matlab.Application”。在VB中创立MATLAB的ActiveX 对象的方法为:
Dim Matlab as object ‘定义Matlab为对象变量 Set Matlab = Createobject(“Matlab.Application”) ‘ 创 立 MATLAB 的 ActiveX对象
创建了MATLAB的ActiveX 对象后,就可以使用这个对象的各种方法来 调用MATLAB了。该对象提供了以下几个主要方法。 ①Execute(command as string): 执行Execute方法将调用MATLAB执行一条 由command字符串决定的MATLAB命令,同时返回命令的执行情况。 ②GetFullMatrix(Name,Workspace,Array(double)*real,Array(double)* ieal) 该方法将指定的MATLAB工作空间中的一个一维或二维数组送到VB程序中 ,Name指定了MATLAB中的矩阵变量名,Workspace指定了该矩阵所在的工作 空间,real和ieal分别是数组的实部和虚部。 ③ PutFullMatrix(Name,Workspace,Array(double)*real,Array(double)* ieal) 该方法将VB程序中的一个一维或二维数组传送到指定的MATLAB工作空间 中。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
必备:
matlab7.0
vc++6.0
vb6.0
1. 在matlab的command window里面敲入mex –setup
2. Please choose your compiler for building external interface (MEX) files: Would you like mex to locate installed compilers [y]/n?选择n
3.matlab会列出所有电脑上所有的编译器,选择Microsoft Visual C/C++ version 6.0
4.The default location for Microsoft Visual C/C++ compilers is C:\Program Files\Microsoft Visual Studio, but that directory does not exist on this machine
Use C:\Program Files\Microsoft Visual Studio anyway [y]/n? 选择n
5.Please enter the location of your compiler: [C:\Program Files\Microsoft Visual Studio] 键入vc++6的安装位置E:\INSTALLBACK\Microsoft Visual Studio vc6.0
6.确定y,Done...
7.设置matlab编译器,在matlab的command window里面敲入mbuild –setup
8.同上步骤选择vc6
9.在matlab的command window里面敲入comtool
10.新建一个工程abc,component name 为abc,class name 为ab,OK
11.选择ab,点击Add file,选择m文件
12.Build->Com object
13.standard dll succeed
注意:若改变M文件,则重新执行步骤12
14.打开VB,工程-》引用,选择abc1.0type library
MATLAB程序如下:
function Y=myfunction(i,j) %myfunction为函数名,a,b为输入变量,Y为输出变量
Y=a+b;
VB程序如下:
Private Sub Command1_Click()
Dim hh As New ABC.ab 'ABC 为COMPONENT NAME,ab为class name
Dim a As Double ‘输入参数
Dim b As Double ‘输入参数
Dim c As Variant ‘输出参数
a = Val(Text1.Text)
b = Val(Text2.Text)
Call hh.myadd(1, c, a, b) 'myadd为MATLAB中的函数名,1为输出变量个数,c为输出变量定义为variant型,a,b为输入变量,定义为double型
Text3.Text = c
End Sub