编辑:sx_zhangjh
2014-10-10
关于matlab与vb混合编程技术研究
精品学习网小编和大家分享了matlab与vb混合编程技术研究,欢迎大家前来了解、查询。
1 引言在工业生产和科研工作中, 经常会遇到复杂数据信息的处理问题, 往往需要大运算量的矩阵计算以及对分析结果进行实时、直观的图形化显示。VB 是Windows 操作系统下优秀的可视化编程语言, 在用户界面设计和快速开发等方面具有独特的优势。从 5.0版本开始, 可以编译链接生成本机代码的可执行文件, 能够脱离 VB 的集成开发环境进行发布, 较好地封装了用户的算法, 有效地保护用户的源代码, 目前世界上有数以百万计的程序员把它当作首选的编程工具。然而, VB 只提供了基本的数学函数库, 对于开发计算功能齐全的大型系统来说, 远远不够。这种情况下, 如果使用基本函数库编写特殊功能的数学函数库, 不仅要求用户对算法有深入的理解, 而且费时, 还可能因为在设计时和运行时的错误处理机制的欠缺,难以保证每个函数功能的正确性。
MATLAB 是 Math Work 公司于 1984 年推出的数学工具软件, 其科学计算功能的强大和开放式的开发思想使其成为当今最为流行的、最为优秀的科技应用软件之一, 在数值分析、科学计算、算法开发、建模和仿真等方面具有独特的优势。最新的 6.1 版本的工具箱(Toolbox)支持对通信系统、信号处理、图像处理、小波分析、鲁棒控制、系统辨别、非线性控制、模糊控制、神经网络、优化理论、样条、商用统计分析等 30 多个不同领域的内容的处理和分析。但其用户界面的设计不如 VB 方便, 解释执行的运行环境使其开发的程序不能离 MATLAB 独立地进行发布, 目只有供 C 和Fortran 语言使用的编程接口, 这对广大的 VB 程序员来说是一个很大的不便。如果能够在 VB 中方便地调用 MATLAB 的数学函数库, 增强科学计算的功能, 就可以发挥各自的优势, 缩短开发周期, 保证系统的健壮性, 开发出脱离 VB 和 MATLAB 的应用软件系统。基于 VB 和 MATLAB 的上述特点,本文提出了 VB与 MATLAB 混合编程的技术, 即利用 VB 作为前端开发工具进行应用程序开发的同时, 将应用程序中较为复杂的数学计算交由 MATLAB 来完成,从而实现具有复杂的数学运算过程的应用程序的开发。
2 VB 与 MATLAB 混合编程的方法2.1 直接利用 Matrix VBMatrix VB Matrix VB 是 Math Works 公司开发的方便而功能强大的 COM(The Component Object Mod-el) 库。它提供了 600 多个函数,其中包括基本的数学运算和信号处理、线性代数、串运算及图形图像处理功能等,为 VB 提供了功能扩展。在 VB 中使用该数学工具包可避免重复性劳动,可以不依赖 MATLAB 的环境而在 Visual Basic 完成许多 MATLAB 中的矩阵运算和图形显示, 从而实现了脱离 MATLAB 而又能对MATLAB 函数和过程的有效调用。
MatrixVB 是一个独立的产品, 安装完成后, 先在Visual Basic 中新建一个工程, 选择“标准 exe”(MatrixVB 也可以创建其他类型的工程, 比如 ActiveXDLL 和ActiveX EXE), 选择菜单项‘工程/引用"复选中 MMA-TRIX, 再按确定关闭窗口。这时 MatFixVB 提供的函数就可以在 VB 中作用了。
2.2 调用 DLL 动态链接库扩展 VB 的另一方法就是借助 Matcom 把 Matlab编写的函数 (M文件) 编译为 VB 可以调用的 DLL 文谭炎: 硕士件。Matcom 是一个从 Matlab 到 C++的编译器,它借助-2 47-技术创新中文核心期刊《微计算机信息》(管控一体化)2006 年360元 / 年 邮局订阅号: 82-946 《 现场总线技术应用 200 例》软 件 时 空C++编译器将 Matlab 下的 M文件编译为可被 VB、Ex-cel 以及 Delphi 调用的 DLL 动态链接库或者是独立的可执行文件。这样大大提高了程序的运行效率,也降低了对系统资源的占用。
标签:VB论文
精品学习网(51edu.com)在建设过程中引用了互联网上的一些信息资源并对有明确来源的信息注明了出处,版权归原作者及原网站所有,如果您对本站信息资源版权的归属问题存有异议,请您致信qinquan#51edu.com(将#换成@),我们会立即做出答复并及时解决。如果您认为本站有侵犯您权益的行为,请通知我们,我们一定根据实际情况及时处理。