(1)MATLAB程序不能脱离其运行环境,可移植性差
(2)MATLAB是一种解释性语言,语言执行效率低,实时性较差
(3)MATLAB的界面开发能力较差,难以开发出友好的应用界面
(4)MATLAB编写的M文件是文本文件,容易被直接读取,难以保护劳动者的成果
VC++用于面向对象的可视化编程,可以完成从底层软件直到面向用户软件等各种应用程序的开发。利用它提供的各种实用工具,开发者可以轻松开发出高效强大的Windows应用程序。但在实际工程开发中,与MATLAB相比:
(1) VC++在数值处理分析和算法工具等方面不如MATLAB
(2) VC++在准确方便地绘制数据图形(数据可视化)方面不如MATLAB
因此,把MATLAB在数值计算、算法设计以及数据可视化等领域的优势与VC++应用系统集成,不仅可以完全满足系统在数据运算与表现方面的需求,而且还可提高系统处理的效率和稳定性,同时也减少了开发人员实现算法的困难,缩短了软件开发的周期,提高了软件质量,在实践中具有很高的使用价值。
VC++与MATLAB混合编程方法
在VC++下调用MATLAB,主要有以下三种方法:
1) 利用MATLAB引擎
MATLAB Engine库是MathWorks公司提供的一组函数库,它提供了一种在用户程序进程中与独立的MATLAB进程通讯的方法,在Windows下使用ActiveX技术实现。
MATLAB Engine不仅可以调用MATLAB中的C\C++函数,还可以调用工具箱中的函数,应用程序整体性能较好,同时,MATLAB Engine方式可利用MATLAB强大的图形功能;但该种方式的致命缺陷是不能脱离MATLAB运行环境。
2) 利用MATLAB自带编译器MCC
从MATLAB 5.1版本开始,MathWorks公司推出了一系列的MATLAB自带编译器来解决MATLAB与C++的接口问题。编译器MCC可以将MATLAB的C/C++数学库编译为VC++编译器能识别的代码嵌入VC++环境。
利用MCC编译器,可以有效提高代码的执行效率,而且可以脱离MATLAB运行环境;但待编译的M文件不能涉及MATLAB的内部类,出现编译文件嵌套时应改写M文件,而且此种方式不支持图形功能。
3) MATCOM转化法
MATCOM是MathWorks公司开发的为MATLAB中的M文件进行高效解释和调试的集成开发环境。MATCOM编译M文件,先将M文件按照与MATCOM的cpp库的对应关系,翻译为cpp源代码,然后用C编译器将cpp文件编译成相应的exe或dll文件。
用MATCOM方式,生成的代码可读性好,支持图形函数,支持M文件编译过程中的文件嵌套情况,可脱离MATLAB环境;缺陷为待编译的M文件不能涉及MATLAB的内部类。
【VC++与MATLAB混合编程】相关文章:
2025年外省高中学业水平合格性考试成绩转入江苏认定的通告公布03-23
2016年职称英语综合类阅读判断练习八03-23
儿童舞蹈教程:国标新手上路03-23
盐阜大众报报业集团(盐城)公开招聘《东方生活报》编辑记者的公告 2月25日到3月3日报名03-23
2018湖南省农村信用社联合社招聘科技专业人才拟聘公告03-23
5月11日开始报名!2023年内蒙古鄂尔多斯市乌审旗秋季幼升小入学条件和流程公布03-23
与太阳比早的人高一学生作文03-23
初中学校德育课程整合实施探究03-23
2015年美国化学工程专业排名03-23
