MATCOM在VC++与MATLAB混合编程中的应用

MATCOM在VC++与MATLAB混合编程中的应用

ID:37848045

大小:58.00 KB

页数:5页

时间:2019-06-01

MATCOM在VC++与MATLAB混合编程中的应用_第1页
MATCOM在VC++与MATLAB混合编程中的应用_第2页
MATCOM在VC++与MATLAB混合编程中的应用_第3页
MATCOM在VC++与MATLAB混合编程中的应用_第4页
MATCOM在VC++与MATLAB混合编程中的应用_第5页
资源描述:

《MATCOM在VC++与MATLAB混合编程中的应用》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、MATCOM在VC++与MATLAB混合编程中的应用摘要:介绍了使用MATCOM实现VC++与MATLAB混合编程的优势和方法,并给出了实例。  关键词:MATCOM、MATLAB、混合编程  引言  MATLAB是MathWorks公司于1982年推出的一种以矩阵为基本运算单位的高效数值计算软件,带有功能强大的数学函数库,并开发有多种学科领域的工具箱函数库,广泛地应用于科学研究与工程计算。然而,MATLAB自身存在的一些缺点限制了它在更多方面的应用:  (1)MATLAB程序不能脱离其运行环境,可移植性差 

2、 (2)MATLAB是一种解释性语言,语言执行效率低,实时性较差  (3)MATLAB的界面开发能力较差,难以开发出友好的应用界面  (4)MATLAB编写的M文件是文本文件,容易被直接读取,难以保护劳动者的成果  VC++用于面向对象的可视化编程,可以完成从底层软件直到面向用户软件等各种应用程序的开发。利用它提供的各种实用工具,开发者可以轻松开发出高效强大的Windows应用程序。但在实际工程开发中,与MATLAB相比:  (1)VC++在数值处理分析和算法工具等方面不如MATLAB  (2)VC++在准确

3、方便地绘制数据图形(数据可视化)方面不如MATLAB  因此,把MATLAB在数值计算、算法设计以及数据可视化等领域的优势与VC++应用系统集成,不仅可以完全满足系统在数据运算与表现方面的需求,而且还可提高系统处理的效率和稳定性,同时也减少了开发人员实现算法的困难,缩短了软件开发的周期,提高了软件质量,在实践中具有很高的使用价值。  VC++与MATLAB混合编程方法  在VC++下调用MATLAB,主要有以下三种方法:  1)利用MATLAB引擎  MATLABEngine库是MathWorks公司提供的一

4、组函数库,它提供了一种在用户程序进程中与独立的MATLAB进程通讯的方法,在Windows下使用ActiveX技术实现。  MATLABEngine不仅可以调用MATLAB中的CC++函数,还可以调用工具箱中的函数,应用程序整体性能较好,同时,MATLABEngine方式可利用MATLAB强大的图形功能;但该种方式的致命缺陷是不能脱离MATLAB运行环境。  2)利用MATLAB自带编译器MCC  从MATLAB5.1版本开始,MathWorks公司推出了一系列的MATLAB自带编译器来解决MATLAB与C

5、++的接口问题。编译器MCC可以将MATLAB的C/C++数学库编译为VC++编译器能识别的代码嵌入VC++环境。  利用MCC编译器,可以有效提高代码的执行效率,而且可以脱离MATLAB运行环境;但待编译的M文件不能涉及MATLAB的内部类,出现编译文件嵌套时应改写M文件,而且此种方式不支持图形功能。  3)MATCOM转化法  MATCOM是MathWorks公司开发的为MATLAB中的M文件进行高效解释和调试的集成开发环境。MATCOM编译M文件,先将M文件按照与MATCOM的cpp库的对应关系,翻译为

6、cpp源代码,然后用C编译器将cpp文件编译成相应的exe或dll文件。  用MATCOM方式,生成的代码可读性好,支持图形函数,支持M文件编译过程中的文件嵌套情况,可脱离MATLAB环境;缺陷为待编译的M文件不能涉及MATLAB的内部类。  综合考虑上述三种结合方式,MATCOM转化法最为简便有效,笔者认为是实现VC++与MATLAB混合编程的最佳途径。  MATCOM转化法  以下介绍均以MATLAB6.5、MATCOM4.5、VC++6.0和WindowsXP为例进行说明。  MATLAB包括数学函数和

7、工具箱函数,MATCOM已经将一般数学函数进行编译,可以遵循MATCOM语言规则直接在VC++中使用;要使用工具箱函数,则需要在MATCOM下编译MATLAB的M文件。如图1所示。图1MATCOM转换法示意图  1、只使用MATLAB一般数学函数  将Windows中的系统文件v4501v.dll与ago4501.dll以及MATCOM中的文件matlib.h与v4501.lib加入VC++工程目录,然后在程序中包含文件matlib.h和链接文件v4501.lib。安装MATCOM后,会在安装路径上自动生成文

8、件refguide.pdf,其中所列的函数均可在VC++中直接使用。  2、使用MATLAB数学函数和工具箱函数  当所需函数不在refguide.pdf中时,在完成上面步骤后,可利用MATCOM将所需函数的M文件转换为cpp文件或dll文件后加入VC++工程使用。MATCOM使用简单,在此就不仔细陈述转换过程了。特别需要提出的是,在转换过程中若有M文件嵌套情况出现,所有M文件应在同一目录下。  应

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。