由于Matlab引擎法不能脱离Matlab环境的局限,我们更倾向于编译法。Matlab引擎编程整体性能极好,编译法运行效率更高,方便软件的开发[1]。
至此,在编程中,我们根据需要选择适合自己的方法,完成目标。源[自[751``论`文]网·www.751com.cn/
1 绪论
1.1 Matlab的背景、现状和意义
Matlab是由Matri Laboratory英文单词缩写而来的,即可称为矩阵实验室。Matlab是通过线性代数与特征值计算软件包的形式发展起来的,具有高效开放式的程序设计语言——Matlab语言。
在20世纪70年代末,美国博士Cleve Moler在用其他语言编程线性代数问题时极不方便,并由此和同事设计了一个通俗易懂的编写接口,这就是Matlab的萌芽。1984,通过合作成立了MathWorks公司,专门从事Matlab的研究,并正式推向市场。历经十几年的研究开发,Matlab成为了国际认可的最优化应用软件。到现在,Matlab已经从1984年的第一版发展到最新版本2012b,改进和增补了很多更为有效的的新功能。
Matlab按照人们科学的思维方式和数学表达习惯来编写开发的,在描述和解决各种学科中的问题具有高效性。因为这一特点,Matlab语言很快扩展到各个领域。在数学计算、数据采集分析、建模与仿真、工程绘图、应用软件开发等方面具有典型的应用,提供一个完整的数学平台,在科学研究、工程应用方面是哟个很好的功能强大的高效的编程工具[2]。
1.2 混合编程的目的和意义
尽管Matlab在语言编程设计程序上给用户带来极大的便利,但由于本身的局限性,并不适用于在综合性的开发运用等方面。所以人们急切需要一个能在各科学领域中具有功能强大和稳定的执行效率高的数学库。
因此,MathWorks公司在设计Matlab软件产品时附带了能对vc语言提供支持兼容的具有强大功能的数学库。在此函数库中,存有许多能够进行线性代数各种运算功能的基础类和函数组成。vc程序设计人员[4]通过运用这个强大的矩阵运算功能力的数学库,在此基础上可以研究开发出独立于Matlab环境的,具有效率更高的,能满足许多场合的编程实时性要求的其他应用程序[5]。
1.3 研究目的
在混合编程中,有多种接法[6]。通过了解每个接法是怎样在混合编程的设置应用,根据简单的例子看,知道每个方法是怎样运行的。我们通过研究了解他们各自应用的局限与优点,在解决具体问题时,选择更适合运用的更方便快捷实效的编程方法。文献综述
2 根据Matlab引擎的编程
2.1 Matlab引擎法编程主要过程及函数简介
Matlab引擎法就是在VC与Matlab混合编程中,通过ActiveX技术[7]与Matlab进程进行数据连接的编程。Matlab功能强大,里面包含的函数库[8]可以提供在VC语言编程中引用Matlab引擎[9],进行后台运行。通过VC语句是提供接数据和命令,Matlab对数据进行编辑处理并返还数据结果,为VC服务。他们之间是通过Matlab引擎函数库的引擎接口函数建立连接的,以对Matlab软件进行命令控制来实现数据交换通信的。