VisualC++是当前主流的应用程序开发环境之一,开发环境强大,开发的程序执行速度快
但在科学计算方面函数库显得不够丰富、读取、显示数据图形不方便
Matlab是一款将数值分析、矩阵计算、信号处理和图形显示结合在一起,包含大量高度集成的函数可供调用,适合科学研究、工程设计等众多学科领域使用的一种简洁、高效的编程工具
不过由于Matlab使用的是解释性语言,大大限制了它的执行速度和应用场合
基于VC和Matlab混合编程是很多熟悉VC++编程而又需要进行科学计算、数据仿真的科研人员常用的一种方式,其中最简单也最直接的方法就是调用Matlab引擎
本文以下部分将详细介绍通过VC++6
0调用Matlab6
5引擎来达到VC++与Matlab数据共享编程的方法
什么是Matlab引擎所谓Matlab引擎(engine),是指一组Matlab提供的接口函数,支持C/C++、Fortran等语言,通过这些接口函数,用户可以在其它编程环境中实现对Matlab的控制
可以主要功能有:★打开/关闭一个Matlab对话;★向Matlab环境发送命令字符串;★从Matlab环境中读取数据;★向Matlab环境中写入数据
与其它各种接口相比,引擎所提供的Matlab功能支持是最全面的
通过引擎方式,应用程序会打开一个新的Matlab进程,可以控制它完成任何计算和绘图操作
对所有的数据结构提供100%的支持
同时,引擎方式打开的Matlab进程会在任务栏显示自己的图标,打开该窗口,可以观察主程序通过engine方式控制Matlab运行的流程,并可在其中输入任何Matlab命令
实际上,通过引擎方式建立的对话,是将Matlab以ActiveX控件方式启动的
在Matlab初次安装时,会自动执行一次:matlab/regserver将自己在系统的控件库中注册
如果因为特殊原因,无法打开Matla