MATLAB基础 下载本文

MATLAB概述

1.1 MATLAB简介

在科学研究和工程计算领域常常会遇到一些计算问题,人们大多是利用计算器或直接手工推导进行运算。但对于复杂的数值计算、符号运算、图形处理和建模仿真等问题,简单的计算器和手工推导就无法胜任了,这时就需要借助计算机编程来完成相应任务。

现有的计算机编程语言的种类很多,它们各有所长,适用于不同领域和情况。在科学计算和工程应用领域用得比较多的是C++、FORTRAN等高级编程语言,而要直接用这些程序设计语言进行编程运算,一般而言是比较繁琐的,既需要对有关算法有深刻的了解,还需要熟练掌握所用语言的语法及编程技巧。对大多数科学工作者而言,同时具备这两方面的技能有一定的困难,只有经过长期专门训练、具备较强编程能力的人员才能胜任。

那么有没有像计算器一样方便的软件工具呢?答案是肯定的,MATLAB就是一种功能非常强大的科学计算软件,使用它进行数学计算就像使用计算器一样简单,只需稍加学习,就可利用其完备的功能,简单快捷地解决各个方面的计算问题。 一、MATLAB的历史

MATLAB是当今国际上科技领域(尤其是自动控制领域)内最具影响力、最有活力的软件。它起源于矩阵运算,并已经发展成一种高度集成的计算机语言。它提供了强大的科学运算、灵活的程序设计流程、高质量的图形可视化与界面设计、便捷的与其他程序和语言接口的功能,被广泛应用于数值分析、数值和符号计算、工程与科学绘图、控制系统的设计与仿真、数字图像处理、数字信号处理、通信系统设计与仿真、财务与金融工程等领域。

20世纪70年代中后期,时任美国墨西哥大学计算机系系主任的Cleve Moler博士为了让学生方便地调用EISPACK和LINPACK(用来求解特征值和解线性方程的两个FORTRAN子程序库),设计了接口程序,取名MATLAB(MATrix

1 页

LABoratory),即Matrix 和Laboratory的组合。早期的MATLAB是用FORTRAN编写的,只提供了几十个内部函数,只能进行矩阵运算,绘图也只有用星号描点等简单形式。但即使功能如此简单,当作为免费软件推出以后,还是吸引了大批的使用者。

1984年,Cleve Moler等人组建MathWorks公司并推出了第一个商业化的DOS版本。系统本身也用C语言重新改写。其后又增添了图形图像处理、多媒体、符号运算和与其他软件的接口功能,使得MATLAB的功能越来越强大。1992年MathWorks公司推出了具有划时代意义的MATLAB 4.0版本,1994年的4.2版本扩充了4.0版本的功能,尤其在图形界面设计方面提供了新的方法。1997年推出的5.0版允许了更多的数据结构,如多维矩阵、对象与类等,使其成为一种更方便编程的语言。2000年10月底推出了其全新的MATLAB 6.0版,在核心数值算法、界面设计、外部接口、应用桌面等诸多方面有了极大的改进。目前最新版本MATLAB 7.0是在2004年9月正式推出的,与前一个版本相比,它新增加了12个新产品模块,升级了28个产品模块,同时对MATLAB编程环境、代码效率、数据可视化、数学计算、文件I/O等方面进行了升级。

现在的MATLAB支持各种操作系统,可以运行在十几个操作平台上。MATLAB再也不是一个简单的矩阵实验室了,它已经演变成为一种具有广泛应用前景的、全新的计算机高级编程语言,而且根据科研需求,它的功能还在不断增强。

二、MATLAB的应用

MATLAB的典型应用包括: ● 数学计算; ● 科学算法开发; ● 数据采集及信号处理; ● 建模及原型仿真; ● 数据分析和数据可视化; ● 科学与工程绘图;

● 应用程序开发(包括建立图形化用户界面)。

MATLAB是一种交互式的矢量语言系统,其基本数据单元是不需要指定维数的矩阵。这使得用MATLAB可以解决许多科学与工程计算问题,特别是那些

2 页

涉及矩阵及矢量公式的问题。用MATLAB编程求解问题,比用标量非交互式语言(如C或FORTRAN语言)编程求解同样问题所花的时间少得多。MATLAB最初是用FORTRAN语言编写的,通过它可以方便地调用EISPACK和LINPACK所设计开发的矩阵软件中的各种过程。现在,经过高度优化后的MATLAB引擎已经包含了LAPACK和BLAS库。

MATLAB已经发展了很多年,已有许多用户使用它。在大学里,MATLAB已经成为用于介绍性和更高级的数学、工程和科学课程中的标准的教学工具。在工业领域,MATLAB已经成为用于高效率研究、开发和分析的首选工具。在同类软件中,MATLAB首屈一指,已经成为科学工程计算(矩阵计算)领域中事实上的软件标准。 三、MATLAB的组成

MATLAB系统主要包括五大基本组成部分:

● 开发环境:这是帮助用户使用MATLAB函数和文件的一套工具。许多这样的工具都有图形化的用户界面,包括MATLAB桌面环境和命令窗口、命令历史记录、编辑/调试器、帮助文件浏览器、工作空间、文件及搜索路径。

● MATLAB数学函数库:这是一个巨大而广泛的计算算法的集合库,从基本的函数(如求和、正弦、余弦和复数运算等)到更加复杂、成熟的函数(如求逆矩阵、求矩阵的特征值、贝塞尔函数和快速傅立叶变换等)。

● MATLAB 语言:这是一种高级矩阵语言,包括流程控制语句、函数、数据结构、输入/输出和面向对象的编程特性。它既允许小型编程,能快速编出可能比较难看的、用后即弃的小程序,又允许大型编程,能编制出大型的、复杂的应用程序。

● 绘图功能:MATALB具有将矢量和矩阵显示成图形的广泛工具,当然也可以对这些图形进行标注和打印。包括可用于二维和三维数据可视化绘图、图像处理、动画和图形演示的高级函数,也包括可以允许用户完全定制图形外观、为用户的MATALB应用程序建立复杂的图形用户界面的底层函数。

● MATALB应用程序接口(API):这是一个允许用户编写C和FORTRAN语言程序来与MATALB进行交互的接口库。

另外,MATALB系统中有一系列附加的、针对特定应用求解的工具,称为工具箱。对大多数MATALB的用户来说都非常重要的是,工具箱使用户可以学

3 页

习和应用专业化的技术。工具箱是MATALB函数的综合性的集合,它们可以延伸MATALB环境来解决特定领域的问题。工具箱所涉及的领域包括:信号处理、控制系统、神经网络、模糊逻辑、小波分析、科学仿真等等。我们这里重点用的是关于信号处理的工具箱,它主要包括数字和模拟滤波器设计、应用及仿真,谱分析和估计,FFT,DCT等变换。 四、MATLAB的特点

MATALB具有以下特点: 1、编程效率高

MATALB是一种面向科学与工程计算的高性能语言、它将计算、可视化和编程高度集成于一个易用的环境中,其中的问题和解都以人们熟知的数学符号和公式的形式来表达,使用MATALB编程运算与人们进行科学计算的思路和表达方式完全一致,用MATALB也被称为一种“演算纸式的”科学工程计算语言。

2、用户使用方便

MATALB语言是一种解释执行的语言,或者称为直译式的语言,它灵活、方便、调试程序手段丰富,调试速度快,需要的学习时间少。人们用任何一种语言编写程序和调试程序一般都要经过几个步骤:编辑、编译、连接、执行及调试,各个步骤之间是顺序关系,编程的过程就是在他们之间作瀑布型的循环。MATALB语言与其他语言相比,较好地解决了上述问题,把编辑、编译、连接和执行融为一体。它能在同一界面中灵活操作,快速排除输入程序中的书写错误、语法错误以至语意错误,从而加快了用户编写、修改和调试程序的速度。可以说,在编程和调试过程中,它是一种比Visual Basic还要简单的语言。具体地说,MATALB在运行时,可直接在命令行输入MATALB命令语句,每输入一条语句,就立即对其进行处理,完成编译、连接和运行的全过程。另外,可将MATALB源程序编辑为M文件,由于MATALB系统本身的函数文件也是M文件,所以编辑后的源文件也是可以直接运行的,不需要进行编译和连接。在运行M文件时,如果有错,计算机屏幕上会给出详细的出错信息,用户经修改后再执行,直到正确为止。所以可以说,MATALB不仅是一种语言,从广义上讲也是一种该语言的开发系统,即语言调试系统。

3、扩展能力强

高版本的MATALB语言有丰富的工具箱库函数,在进行复杂的数学运算时

4 页