《第8章使用MATCOM工具的混合编程》由会员分享,可在线阅读,更多相关《第8章使用MATCOM工具的混合编程(12页珍藏版)》请在金锄头文库上搜索。
1、第第8 8章章 使用使用MATCOMMATCOM工具的混合编程工具的混合编程MATCOM方法是一种常用的方法是一种常用的VC+和和MATLAB的混和编程的混和编程方法,利用方法,利用MATCOM工具工具MIDEVA可以把可以把MATLAB的的M文件转换成相同功能的文件转换成相同功能的C+语言代码。开发人员可以在语言代码。开发人员可以在VC+的编译环境下,建立漂亮友好的界面;而一些底层的编译环境下,建立漂亮友好的界面;而一些底层的工作,如数值分析、图像处理、系统仿真等功能,可以的工作,如数值分析、图像处理、系统仿真等功能,可以交给交给MATLAB进行处理。本章将介绍进行处理。本章将介绍MATCO
2、M的详细安的详细安装步骤,利用装步骤,利用MATCOM进行图形图像显示的一些基础应进行图形图像显示的一些基础应用,以及用,以及MATCOM的支持工具的支持工具MIDEVA在在VC+中的一中的一些设置;最后给出应用实例。些设置;最后给出应用实例。8.1 8.1 安装安装MATCOMMATCOMMATCOM是是MathTools公司推出的第一个由公司推出的第一个由MATLAB到到C+的编译开发软件平台,其最新版本为的编译开发软件平台,其最新版本为4.5,本书采用,本书采用的是的是4.5。推荐下载地址:。推荐下载地址:http:/ MATCOM的安装与普通的的安装与普通的Windows程序的安装过程
3、序的安装过程类似,首先找到程类似,首先找到MATCOM的安装文件,双击后出现安的安装文件,双击后出现安装启动界面装启动界面8.2.1 8.2.1 使用使用MATCOM C+MATCOM C+矩阵库的矩阵类矩阵库的矩阵类MmMm通过通过MATCOM自动地将自动地将M文件转换成文件转换成C、CPP文件,然后文件,然后将生成的代码复制到工程中,从而实现将生成的代码复制到工程中,从而实现MATCOM和和VC+的混合编程。实际上,的混合编程。实际上,MATCOM包含了一组包含了一组C+库,它是库,它是MathTools公司开发的一个矩阵数学库,提供了公司开发的一个矩阵数学库,提供了一个双精度的一个双精度
4、的Matrix类型类型Mm,它可以是复数矩阵、实,它可以是复数矩阵、实数矩阵、稀疏矩阵甚至是数矩阵、稀疏矩阵甚至是n维矩阵。这个库共有维矩阵。这个库共有600多个多个函数和重载的操作符。函数和重载的操作符。8.2.2 8.2.2 在在VC+VC+中使用中使用MATCOM C+MATCOM C+矩阵库矩阵库在在VC中使用中使用MATCOM,需要进行设置,需要进行设置8.2.3 MATCOM C+8.2.3 MATCOM C+矩阵库的图形和图像显示矩阵库的图形和图像显示利用利用MATCOM C+矩阵库的图形函数可以实现数据的二维矩阵库的图形函数可以实现数据的二维和三维显示,并且可以实现图像的显示。
5、和三维显示,并且可以实现图像的显示。MATCOM C+矩阵库的图形函数与矩阵库的图形函数与MATLAB提供的图形函数的名称、提供的图形函数的名称、属性及使用方法几乎完全一样。因此,属性及使用方法几乎完全一样。因此,MATCOM C+矩矩阵库为图形函数提供的帮助较简单,如果在使用过程中碰阵库为图形函数提供的帮助较简单,如果在使用过程中碰到问题,可以查看到问题,可以查看MATLAB相应的图形函数的使用帮助,相应的图形函数的使用帮助,然后再使用然后再使用MATCOM的图形函数即可。的图形函数即可。8.2.4 MATCOM8.2.4 MATCOM用于图形显示的函数用于图形显示的函数MATCOM图形显示
6、函数中大部分函数的用法与图形显示函数中大部分函数的用法与MATLAB相相应同名函数的用法类似,由于应同名函数的用法类似,由于MATCOM函数的说明不是函数的说明不是十分详细,因而可以在十分详细,因而可以在MATLAB环境下方便快捷地测试环境下方便快捷地测试这些函数的主要功能。这些函数的主要功能。8.2.5 MATCOM8.2.5 MATCOM用于图像显示的函数用于图像显示的函数这些图像处理函数与其同名的这些图像处理函数与其同名的MATLAB函数的使用方法十函数的使用方法十分类似。与分类似。与MATCOM图形函数类似,可以在图形函数类似,可以在MATLAB环环境下迅速测试这些函数的主要功能。境下
7、迅速测试这些函数的主要功能。8.3 MIDEVA8.3 MIDEVA概述概述MIDEVA是是MathTools推出的一种推出的一种MATLAB编译开发平台,编译开发平台,提供对提供对MATLAB程序文件的解释执行和开发环境支持,程序文件的解释执行和开发环境支持,集编辑、调试、编译和优化于一体。该软件有为集编辑、调试、编译和优化于一体。该软件有为VC+、Borland C+和和Visual Basic等编程语言开发的不同版本,等编程语言开发的不同版本,目前已经升级到了目前已经升级到了4.5版,软件大小仅为版,软件大小仅为8.5MB。8.4 VC+8.4 VC+使用使用MIDEVAMIDEVA的环
8、境设置的环境设置MIDEVA提供的功能相当强大,因为它包含了近千个提供的功能相当强大,因为它包含了近千个MATLAB的基本功能函数,通过必要的设置就可以直接的基本功能函数,通过必要的设置就可以直接实现与实现与C+的混合编程,而不必再依赖的混合编程,而不必再依赖MATLAB。同时,。同时,MIDEVA还提供编译转换功能,能够将还提供编译转换功能,能够将MATLAB函数或函数或编写的编写的MATLAB程序转换为程序转换为C+形式的动态连接库,从形式的动态连接库,从而实现脱离而实现脱离MATLAB环境对环境对MATLAB函数和过程的有效函数和过程的有效调用,实现对调用,实现对MATLAB工具箱函数的
9、利用。工具箱函数的利用。8.4.1 8.4.1 添加头文件和添加库文件添加头文件和添加库文件添加头文件:添加头文件:Matlib.h是是MIDEVA提供的函数的头文件,它提供的函数的头文件,它位于位于“MATCOM45lib”目录下。方法是单击目录下。方法是单击【Tools】|【Options】命令,选取命令,选取【Directories】选项卡,在选项卡,在【Show Directories for】中选取中选取【Include files】选项,然后选项,然后添加目录添加目录“主目录主目录MATCOM45lib”8.4.2 8.4.2 添加添加MIDEVAMIDEVA提供的插件提供的插件M
10、IDEVA提供了可以供提供了可以供VC+使用的插件,添加方法如下:使用的插件,添加方法如下:单击单击【Tools】|【Customize】命令,弹出如图命令,弹出如图8.15所示所示的对话框,选择的对话框,选择【Add-ins and Macro Files】选项卡,单选项卡,单击浏览按钮,选择击浏览按钮,选择“MATCOM45/bin/mvcide.dll”,单击,单击关闭,则在关闭,则在VC+集成环境中出现集成环境中出现Visual MATCOM图标图标8.5 8.5 应用实例应用实例VC+与与MIDEVA混合编程主要有以下三种途径:混合编程主要有以下三种途径:MIDEVA将将M文件编译为
11、可执行文件文件编译为可执行文件exe,VC+通过编程执通过编程执行可执行文件实现混合编程,这中放松易于维护,但应用行可执行文件实现混合编程,这中放松易于维护,但应用程序耦合比较松散,界面不易统一。程序耦合比较松散,界面不易统一。MIDEVA将将M文件编译为动态链接库,文件编译为动态链接库,VC+在运行时调用。在运行时调用。(3)MIDEVA将将M文件转换为文件转换为C/C+代码,代码,VC+直接使直接使用转换后的代码进行混合编程。用转换后的代码进行混合编程。第第3种情况生成的种情况生成的C+代码与第代码与第1和第和第2两种相同,只是添加两种相同,只是添加图片控件将图形直接在图片控件将图形直接在Vc+界面中显示,这里不做介绍。界面中显示,这里不做介绍。