Matlab混合编程

Matlab混合编程

ID:41032760

大小:522.91 KB

页数:16页

时间:2019-08-14

Matlab混合编程_第1页
Matlab混合编程_第2页
Matlab混合编程_第3页
Matlab混合编程_第4页
Matlab混合编程_第5页
资源描述:

《Matlab混合编程》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、《专业实习》论文题目:Matlab与C/C++混合编程技术姓名魏安军学院理学院专业数学与应用数学班级06201学号060680班内序号072009年8月摘要本文先通过介绍Matlab的接口技术引入Matlab与C/C++混合编程的先决条件,通过阐述不同编程环境下的缺点证实混合编程的需要,扬长避短发挥出Matlab与C/C++结合的最大优点。然后,本文对混合编程技术进行深入探究,具体到两种易可行的方法:MEX技术和调用Matlab计算引擎技术。在MEX技术中,主要是通过Matlab调用C/C++来实现,本文讲解了使用MEX文件的优点,这里主要包括代码重用,速度提升,功能扩展。

2、经过工作环境的设置后,通过两个简单的例子说明了C/C++语言MEX文件的基本写法和一些库函数的使用。在调用Matlab计算引擎技术中,主要是通过VisualC++编程环境来实现。本文先探讨了使用该引擎的优点集中在两个方面:强大的矩阵计算能力和图形显示能力。然后简单介绍了引擎库函数的原型和功能和调用Matlab引擎时的环境配置。最后通过VisualC++调用Matlab引擎的实例来说明混合编程的高效。1.背景知识1.1.关于MATLAB的接口技术Matlab是美国Mathworks公司开发和发行的一个软件产品。它是一个交互式的开发系统,,具有强大的数值计算和图形显示能力,以及

3、易用的编程开发语言。现在的Matlab接口技术包括如下几个方面的内容:l数据的导入导出。这些技术主要包括在Matlab环境里利用MAT文件技术来进行数据的导入导出。l和普通的动态链接库(DLL)文件的接口l在Matlab环境里调用C/C++,FORTRAN语言代码的接口。这个接口是通过MEX技术实现的。利用MEX技术,C/C++或者FORTRAN代码通过实现一个特殊的入口函数,就能够被编译成MEX文件。l在Matlab调用Java。从v6.0版本之后的Matlab都包含一个Java虚拟机器,所以用户可以通过Matlab命令来使用Java语言解释器,从而实现对Java对象的调

4、用。l对COM和DDE的支持。l在Matlab实用网络服务。l和串行口的通信接口Matlab给用户提供了如上非常丰富的接口技术,包括和其它语言程序的接口,真正实现在不同程序之间共享数据的接口,使得编程和计算的效率大幅度的提高。1.2.关于MATLAB与C/C++混合编程虽然Mtalab是以矩阵为基本运算单位的高效数值计算软件,带有功能强大的数学函数库,并开发有多种学科领域的工具箱函数库,广泛地应用与科学研究与工程计算,然而其自身存在的一些缺点限制了它在更多方面的应用:lMatlab程序不能脱离其运行环境,可移植性差。lMatlab是一种解释性语言,语言执行效率低,实时性较差

5、。lMatlab的界面开发能力较差,难以开发出友好的应用界面。lMatlab编写的M文件是文本文件,容易被直接读取,难以保护劳动者的成果。VisualC++用于面向对象的可视化编程,可以完成从底层软件直到面向用户软件等各种应用程序的开发。利用它提供的各种实用工具,开发者可以轻松开出高效强大的Windows应用程序。但在实际工程开发中,与Matlab相比:lVisualC++在数值处理分析和算法工具等方面不如Matlab。lVisualC++在准确方面地绘制数据图形(数据可视化)方面不如Matlab。因此,把Matlab在数值计算、算法设计以及数据可视化等领域的优势与VC++

6、应用系统集成,不仅可以完全满足系统在数据运算与表现方面的需求,而且还可提高系统处理的效率和稳定性,同时也减少了开发人员实现算法的困难,缩短了软件开发的周期,提高了软件质量,在实践中具有很高的使用价值。1.MATLAB调用C/C++1.1.MEX技术概述MEX代表MatlabExecutable。MEX文件是一种特殊的动态连接库函数,它能够在Matlab里像一般的M函数那样来执行。MEX文件必须导出一个特殊的函数以作为在Matlab中使用的接口,另外也可以包含一个或多个用户自己定义的函数。MEX文件可以通过编译C/C++,或者FORTRON源文件来产生。因此,使用文件给用户提

7、供了一种在Matlab使用其它编程语言的途径。一般来说,使用MEX文件的优点包括:l代码重用。通过MEX方式,用户可以实现在Matlab中使用已有的代码l速度提升。一些复杂的算法使用C/C++或者FORTRON开发,有可能加速程序的运行速度。l功能扩展。通过MEX方式,用户可以调用系统函数或者实现和硬件的交互,从而扩展程序功能。MEX文件在不同计算机操作系统上的后缀名不同,我们这里只讨论在Windows上的,MEX文件的后缀名和普通动态链接库一样,也是dll。在相应的平台上,Matlab能自动检测到MEX文件的存在

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

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

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