Matlab与VB集成.pdfVIP

  • 2
  • 0
  • 约6.23千字
  • 约 6页
  • 2017-08-26 发布于河南
  • 举报
分类号 BJ82 计算机世界/2001年/12月/17日/第C15版/ 应用编程 Matlab与VB集成 武汉理工大学计算机学院 徐静 工业生产中经常遇到复杂的数据信息处理问题 需要大运算量的矩阵计算及对分析 结果进行实时 直观的图形化显示 Matlab 是集数值分析 矩阵运算 信号处理和图 形显示于一体的高性能教学软件 将其强大的计算功能与VB 在图形用户界面开发方面 的优势结合起来 实现应用系统的无缝集成 对于有效缩短开发周期 优化系统性能是 十分有意义的 下面将分别讨论Matlab 与VB 集成的四种方法 借助 ActiveX 部件 Microsoft 把所有以 COM 为基础的技术统称为 ActiveX 技术 自动化是大多数 ActiveX 技术的基础 它可使解释性的宏语言 如 VB 能够在不了解应用程序实现细 节的情况下控制自动化对象 Matlab 实现了 ActiveX 自动化服务支持 在 VB 下通过 ActiveX 自动化接口可将Matlab 作为Visual Basic 语言的一个ActiveX 部件调用 Matlab ActiveX 自动化服务的功能主要包括在Matlab 工作空间执行Matlab 命令 以及直接从工作空间存取矩阵等 下面列出了Matlab 自动化服务支持的几个主要方法 其参数和返回值的类型采用ActiveX 自动化协议所定义的与语言无关的类型描述 BSTR Execute [in] BSTR Command BSTR 表示宽字符串类型 它与 VB 存储字符串所采用的数据格式相同 该方法 接收字符串命令并在Matlab 中执行 将结果以字符串形式返回 void GetFullMatrix in BSTR Name [in] BSTR Workspace [in out] SAFEARRAY(double * Pr [in out] SAFEARRAY double) * pi 该方法从指定的工作空间检索一个完整的一维或二维的实型或虚 mxArray 其实 部和虚部被分别存放到两个单独的Double 型数组中 void PutFullMatrix in BSTR Name [in] BSTR Workspace [in] SAFEARRAY double pr [in] SAFEARRAY double pi 该方法将一个 mxArray 放入指定的工作空间 各参数的含义及调用方法与 GetFullMatrix 方法类似 示例代码如下 Dim Matlab As Object ’声明对象 Dim MReall 5 5 As Double ’声明存放实部的Double 型数组 Dim MImag As Double ’声明存放虚部的Double 型数组 Set Matlab CreateObject Matlab Application” ’初始化对象 Matlab Execute a hilb 5 ’执行Matlab 命令 Call Matlab GetFullMatrix a” base” MReall MImag ’将结果分别存入实部 虚部数组 借助DDE 技术 DDE Dynamic Data Exchange 允许 MicrosoftWindows 应用程序通过交换数 据实现彼此间的通信 应用程序间彼此通信要先建立一个 DDE 会话 对会话进行初 始化的应用程序称为客户端 Client 对 Client 端作出响应的应用程序称为服务器 Server 图1 描述了Matlab 作为服务器时与其他应用程序的通信机制 其中

文档评论(0)

1亿VIP精品文档

相关文档