与混合编程的研究与实现覆盖
Matlab是Mathworks公司推出的数学软件,它将数值分析、矩阵计算、信号处理和图形显示结合在一起,包含大量高度集成的函数可供调用,命令语句功能十分强大,为科学研究、工程设计及众多学科领域提供了一种简洁、高效的编程工具。但是Matlab使用的是解释性语言,大大限制了它的执行速度;源代码的公开不利于算法和数据的保密;局限于Matlab运行环境而不能用于开发商用软件。Visual C++是Windows平台下主要的应用程序开发环境之一,它能方便实现软件开发,开发的系统具有界面友好、执行速度快、易维护和升级等优点。但是在工程计算方面,和Matlab相比编程显得复杂的多。因此实现VC与Matlab混合编程,使两者结合起来,协同工作,必将提高软件开发效率,使所开发的软件具有更高的性能,更大的应用范围,也可以为科学研究和工程技术提供更强的技术支持。
建立扶贫基地和充分发挥基地辐射 VC与Matlab混合编程的实现方案
在VC环境中调用Matlab程序主要有以下几种方法:
(1)用Matlab引擎,采用客户机/服务器(Client/Server)的计算模式。在VC中设计程序框架,作为前端客户机,通过调用Matlab引擎与后台Matlab服务器建立连接,实现命令和数据信息的传递。这种方式需要Matlab在后台运行,离不开Matlab环境。不利于软件的开发,但是它可以充分利用Matlab的功能,包括调用工具箱函数和图形函数。
(2)用Matlab的编译器将.m源文件转化为c、c++等各种不同类型的源代码,并在此基础上根据应用需要生成MEX文件、独立可执行应用程序等文件类型,大大提高程序的运行速度,提高代码的执行效率。主要是使用mcc命令实现文件的转化。但是这种方法不支持图形函数,不能编译一些Matlab的内建函数,并且转换的代码可读性不太好。
(3)使用Matcom编译器可以将Matlab源代码译成同等功能的C++代码,既保持了Matlab的优良算法,又提高了执行速度。它还支持一定的图形显示,生成代码的可读性很好。因其简单便捷、功能强大、应用灵活,本文主要探讨这种实现方案。
实现VC与Matcom的接口步骤
Matcom是Mathworks公司推出的第一个由Matlab到C++的编译开发软件平台,它的可视化界面,方便丰富的调试功能和对数学库的强大支持受到广大技术人员的重视。现在的最高版本为Matcom4.5。
我们可以通过在Matcom中file菜单下的compile to exe or dll调用.m文件编译,在Matcom的debug目录下找到生成的cpp、exe、dll文件。把需要的文件加到VC开发环境的工程中,再包含头文件就可以实现调用。也可以直接在VC环境下使用科学运算库,即Matcom的MatrixLIB,它是按照Matcom的语法在VC中实现类似于Matlab函数的方法。但是这里还有一种将Matcom集成到VC环境的方法,即安装Visual Matcom的方式,这种方式操作更加简便易行,只需要熟悉Matlab编程,经过简单的步骤就可以轻松实现VC环境中调用Matlab。下面介绍Visual Matcom开发环境的安装。
(1)拷贝matcom45\\bin\\t文件(matcom45指Matcom的安装路径)到visual c++\\Common\\MSDev98\\Bin目录(visual c++指VC的安装路径)下。
(2)运行Visual C++,从菜单条中选择Tools/Customize/Add-ins and Macro Files,选择Browse,改变文件类型为Add-ins(.dll),选定matcom45\\bin\\l文件,确定。
(3)这样,可以在Visual C++的开发环境中看到一个如图1所示的Visual Matcom工具栏,表明安装成功。
图1 Visual Matcom工具栏
廊坊男科合肥前列腺炎治疗多少钱
儿童健脾胃的药排行榜
- 非口试必须品,但是可以带进考场的东西有哪些?
- 牛排不是越贵越好,在包装上看到这三个同音,无论多贵,都是合成的
- 讲好中国故事,一定要重视偶像的力量,冬奥双料冠军苏翊鸣值得更多热搜
- 【民族体育运动云绽放】传承民族传统体育运动 丰富校园文化
- 车载激光雷达“秋风而起”市场规模或将超过430亿
- 发端诗意流、半途主义的著名作家唐国明,鹅毛诗10首
- 泪目!水庆霞谈为女足放弃生育:如果最初要的话,我小孩二十几岁了
- 路通视信:控股股东所持一些公司5.11%股份被司法冻结
- 长春高一复习语文怎么学,麦田学校分享
- 投资者提问:请问贵司网络安全摆渡系统有哪些案例?
- 本月有趣 +1!中底「带闪电」的三叶草三方联名曝光!
- 3岁孩子从2楼坠毁,奶奶赶忙上前,妈妈大喊不准扶,医生:干的好