您好,欢迎访问三七文档
Matlab语言的浅谈摘要:现在的Matlab再也不是一个简单的矩阵实验室了,它已经演变成为一种具有广泛应用前景的全新的计算机高级编程语言了。Matlab具有用法简单、灵活、程式结构性强、延展性好等优点,已经逐渐成为科技计算、视图交互系统和程序中的首选语言工具。数学软件就是专门用来进行数学运算、数学规划、统计运算、工程运算、绘制数学图形或制作数学动画的软件。其中,著名的数学软件有:Matlab、Mathe-matica、Maple、MathCad、Scilab、SAGE等;著名的统计软件有:SAS、SPSS、Minitab等;数学规划的软件有:Lingo、Lindo等;绘图软件有:Matlab等;数学打字软件有:Mathtype、Latex等。目前在科技和工程界上比较流行和著名的数学软件主要是Matlab,应用非常广泛。1数学软件Matlab语言的历史Matlab是矩阵实验室(MatrixLaboratory)的简称,早期的Matlab是用Fortran语言编写的,只能作矩阵运算;绘图也只能用极其原始的方法,即用星号描点的形式画图;内部函数也只提供了几十个。但即使其当时的功能十分简单,当它作为免费软件出现以来,还是吸引了大批的使用者。1984年成立的MathWorks公司,正式把Matlab推向市场,是第一个商业化的版本——Mat-lab1.0的DOC版本,其后又增添了丰富多彩的图形图像处理、多媒体功能、符号运算和它与其他流行软件的接口功能,当时的Matlab版本已经用C语言作了完全的改写,使得Matlab的功能越来越强大。TheMath-Works公司于1992年推出了4.0版本,1994年的4.2版本扩充了4.0版本的功能,尤其在图形界面设计方面更提供了新的方法。1997年推出的5.0版允许了更多的数据结构,如单元数据、多维矩阵、对象与类等,使其成为一种更方便编程的语言。1999年推出的Matlab5.3版在很多方面又进一步改进了Matlab语言的功能。2000年10月底推出了其全新的Matlab6.0正式版(Re-lease12),在核心数值算法、界面设计、外部接口、应用桌面等诸多方面有了极大的改进[1]。虽然Matlab语言是计算数学专家倡导并开发的,但其普及和发展离不开自动控制领域学者的贡献。甚至可以说,Matlab语言是自动控制领域学者和工程技术人员捧红的,因为在Matlab语言的发展进程中,许多有代表性的成就和控制界的要求与贡献是分不开的。迄今为止,大多数工具箱也都是控制方面的。Matlab具有强大的数学运算能力[2]、方便实用的绘图功能及语言的高度集成性,它在其他科学与工程领域的应用也是越来越广,并且有着更广阔的应用前景和无穷无尽的潜能。Mat-lab语言可以将使用者从繁琐、无谓的底层编程中解放出来,把有限的宝贵时间更多地花在解决问题中,这样无疑会提高工作效率。目前,Matlab已经成为国际上最流行的科学与工程计算的软件工具,现在的Mat-lab已经不仅仅是一个“矩阵实验室”[3]了,它已经成为了一种具有广泛应用前景的全新的计算机高级编程语言了,有人称它为“第四代”计算机语言,它在国内外高校和研究部门正扮演着重要的角色。其功能也越来越强大,会不断根据科研需求提出新的解决方法。2数学软件Matlab语言的特点Matlab是所有MathWorks公司产品的基石,它包括了数值计算,2-D和3-D图形,语句以及单一易使用环境下的语言能力。Matlab系统主要由五部分构成:Matlab语言、Matlab工作环境、Matlab图形处理、Mat-lab数学函数库、Matlab应用编程人员接口(API)。Matlab具有用法简单、灵活、程式结构性强、延展性好等优点,已经逐渐成为科技计算、视图交互系统和程序中的首选语言工具。特别是它在线性代数、数理统计、自动控制、数字信号处理、动态系统仿真等方面表现突出,已经成为科研工作人员和工程技术人员进行科学研究和生产实践的有利武器。2.1以矩阵和数组为基础的运算Matlab是一个高级的矩阵/阵列语言,它包含控制语句、函数、数据结构、输入输出和面向对象编程特点[4]。Matlab以矩阵为基础,不需要预先定义变量和矩阵(包括数组)的维数,可以方便地进行矩阵的算术运算、关系运算和逻辑运算等。而且Matlab有特殊矩阵专门的库函数,可以高效地求解诸如信号处理、图像处理、控制等问题。2.2语言简洁,使用方便Matlab程序书写形式自由,被称为“草稿式”语言,这是因为其函数名和表达更接近我们书写计算公式的思维表达方式,编写Matlab程序犹如在草稿纸上排列公式与求解问题,因此可以快速地验证工程技术人员的算法。此外Matlab还是一种解释性语言,不需要专门的编译器。具体地说,Matlab运行时,可直接在命令行输入Matlab语句,系统立即进行处理,完成编译、链接和运行的全过程。利用丰富的库函数避开繁杂的子程序编程任务,压缩了一切不必要的编程工作。2.3强大的科学计算机数据处理能力Matlab是一个包含大量计算算法的集合。其拥有600多个工程中要用到的数学运算函数,可以方便的实现用户所需的各种计算功能。函数中所使用的算法都是科研和工程计算中的最新研究成果,而前经过了各种优化和容错处理。在通常情况下,可以用它来代替底层编程语言,如C和C++。在计算要求相同的情况下,使用Matlab的编程工作量会大大减少。Matlab的这些函数集包括从最简单最基本的函数到诸如矩阵、特征向量、快速傅立叶变换的复杂函数。函数所能解决的问题其大致包括矩阵运算和线性方程组的求解、微分方程及偏微分方程组的求解、符号运算、傅立叶变换和数据的统计分析、工程中的优化问题、稀疏矩阵运算、复数的各种运算、三角函数和其他初等数学运算、多维数组操作以及建模动态仿真等。2.4强大的图形处理功能Matlab具有非常强大的以图形化显示矩阵和数组的能力,同时它能给这些图形增加注释并且可以对图形进行标注和打印。Matlab的图形技术包括二维和三维的可视化、图象处理、动画等高层次的专业图形的高级绘图函数[5](例如图形的光照处理、色度处理以及四维数据的表现等),又包括一些可以让用户灵活控制图形特点的低级绘图命令,可以利用Matlab的句柄图形技术创建图形用户界面。同时对一些特殊的可视化要求,例如图形对话等,Matlab也有相应的功能函数,保证了用户不同层次的要求。另外新版本的Matlab还着重在图形用户界面(GUI)的制作上作了很大的改善,对这方面有特殊要求的用户也可以得到满足。2.5应用广泛的模块集合——工具箱Matlab的一个重要特色就是具有一套程序扩展系统和一组称之为工具箱的特殊应用子程序,每一个工具箱都是为某一类学科专业和应用而定制的。Matlab包含两个部分:核心部分和各种可选的工具箱。核心部分中有数百个核心内部函数。其工具箱又分为两类:功能性工具箱和学科性工具箱。功能性工具箱主要用来扩充其符号计算功能,图示建模仿真功能,文字处理功能以及与硬件实时交互功能;而学科性工具箱是专业性比较强的,如control,toolbox,signlproceess-ingtoolbox,commumnicationtoolbox等。这些工具箱都是由该领域内学术水平很高的专家编写的,所以用户无需编写自己学科范围内的基础程序就可直接进行高、精、尖的研究。此外,用户可以直接使用工具箱学习、应用和评估不同的方法而不需要自己编写代码。目前,Matlab已经把工具箱延伸到了科学研究和工程应用的诸多领域,诸如数据采集、数据库接口、概率统计、样条拟合、优化算法、偏微分方程求解、神经网络、小波分析、信号处理、图像处理、系统辨识、控制系统设计、LMI控制、鲁棒控制、模型预测、模糊逻辑、金融分析、地图工具、非线性控制设计、实时快速原型及半物理仿真、嵌入式系统开发、定点仿真、DSP与通讯、电力系统仿真等,都在工具箱(Toolbox)家族中有了自己的一席之地。2.6可扩充性强,具有方便的应用程序接口Matlab不仅有着丰富的库函数,在进行复杂的数学运算时可以直接调用。而且用户还可以根据需要方便地编写和扩充新的函数库。通过混合编程用户可以方便地在Matlab环境中调用其他用Fortran或者C语言编写的代码,也可以在C语言或者Fortran语言程序中调用Matlab计算引擎来执行Matlab代码综上所述,Matlab是一种基于矩阵运算、具有强大的数值运算和数据处理功能的高级编程语言,广泛应用于信号分析、语音分析、优化设计等领域,在复杂算法方面表现出其他语言难以比拟的优势,目前已成为国际上最为流行的软件之一。参考文献[1]陈迎春,孙昱,葛临东提高Matlab程序可开发性的方法介绍[J]现代电子技术[2]苏金明MATLAB高级编程[M]北京:电子工业出版社[3]董维国深入浅出MATLAB7.x混合编程[M]北京:机械工业出版社[4]张威MATLAB应用程序集成与发布[M]西安:西安电子科技大学出版社[5]刘志俭MATLAB应用程序接口用户指南[M]北京:科学出版社
本文标题:Matlab浅谈
链接地址:https://www.777doc.com/doc-2887585 .html