MATLAB基础.docx

上传人:b****8 文档编号:28357070 上传时间:2023-07-10 格式:DOCX 页数:25 大小:139.97KB
下载 相关 举报
MATLAB基础.docx_第1页
第1页 / 共25页
MATLAB基础.docx_第2页
第2页 / 共25页
MATLAB基础.docx_第3页
第3页 / 共25页
MATLAB基础.docx_第4页
第4页 / 共25页
MATLAB基础.docx_第5页
第5页 / 共25页
点击查看更多>>
下载资源
资源描述

MATLAB基础.docx

《MATLAB基础.docx》由会员分享,可在线阅读,更多相关《MATLAB基础.docx(25页珍藏版)》请在冰豆网上搜索。

MATLAB基础.docx

MATLAB基础

第1章MATLAB概述

1.1MATLAB简介

在科学研究和工程计算领域常常会遇到一些计算问题,人们大多是利用计算器或直接手工推导进行运算。

但对于复杂的数值计算、符号运算、图形处理和建模仿真等问题,简单的计算器和手工推导就无法胜任了,这时就需要借助计算机编程来完成相应任务。

现有的计算机编程语言的种类很多,它们各有所长,适用于不同领域和情况。

在科学计算和工程应用领域用得比较多的是C++、FORTRAN等高级编程语言,而要直接用这些程序设计语言进行编程运算,一般而言是比较繁琐的,既需要对有关算法有深刻的了解,还需要熟练掌握所用语言的语法及编程技巧。

对大多数科学工作者而言,同时具备这两方面的技能有一定的困难,只有经过长期专门训练、具备较强编程能力的人员才能胜任。

那么有没有像计算器一样方便的软件工具呢?

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

一、MATLAB的历史

MATLAB是当今国际上科技领域(尤其是自动控制领域)内最具影响力、最有活力的软件。

它起源于矩阵运算,并已经发展成一种高度集成的计算机语言。

它提供了强大的科学运算、灵活的程序设计流程、高质量的图形可视化与界面设计、便捷的与其他程序和语言接口的功能,被广泛应用于数值分析、数值和符号计算、工程与科学绘图、控制系统的设计与仿真、数字图像处理、数字信号处理、通信系统设计与仿真、财务与金融工程等领域。

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

早期的MATLAB是用FORTRAN编写的,只提供了几十个内部函数,只能进行矩阵运算,绘图也只有用星号描点等简单形式。

但即使功能如此简单,当作为免费软件推出以后,还是吸引了大批的使用者。

1984年,CleveMoler等人组建MathWorks公司并推出了第一个商业化的DOS版本。

系统本身也用C语言重新改写。

其后又增添了图形图像处理、多媒体、符号运算和与其他软件的接口功能,使得MATLAB的功能越来越强大。

1992年MathWorks公司推出了具有划时代意义的MATLAB4.0版本,1994年的4.2版本扩充了4.0版本的功能,尤其在图形界面设计方面提供了新的方法。

1997年推出的5.0版允许了更多的数据结构,如多维矩阵、对象与类等,使其成为一种更方便编程的语言。

2000年10月底推出了其全新的MATLAB6.0版,在核心数值算法、界面设计、外部接口、应用桌面等诸多方面有了极大的改进。

目前最新版本MATLAB7.0是在2004年9月正式推出的,与前一个版本相比,它新增加了12个新产品模块,升级了28个产品模块,同时对MATLAB编程环境、代码效率、数据可视化、数学计算、文件I/O等方面进行了升级。

现在的MATLAB支持各种操作系统,可以运行在十几个操作平台上。

MATLAB再也不是一个简单的矩阵实验室了,它已经演变成为一种具有广泛应用前景的、全新的计算机高级编程语言,而且根据科研需求,它的功能还在不断增强。

二、MATLAB的应用

MATLAB的典型应用包括:

●数学计算;

●科学算法开发;

●数据采集及信号处理;

●建模及原型仿真;

●数据分析和数据可视化;

●科学与工程绘图;

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

MATLAB是一种交互式的矢量语言系统,其基本数据单元是不需要指定维数的矩阵。

这使得用MATLAB可以解决许多科学与工程计算问题,特别是那些涉及矩阵及矢量公式的问题。

用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的用户来说都非常重要的是,工具箱使用户可以学习和应用专业化的技术。

工具箱是MATALB函数的综合性的集合,它们可以延伸MATALB环境来解决特定领域的问题。

工具箱所涉及的领域包括:

信号处理、控制系统、神经网络、模糊逻辑、小波分析、科学仿真等等。

我们这里重点用的是关于信号处理的工具箱,它主要包括数字和模拟滤波器设计、应用及仿真,谱分析和估计,FFT,DCT等变换。

四、MATLAB的特点

MATALB具有以下特点:

1、编程效率高

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

2、用户使用方便

MATALB语言是一种解释执行的语言,或者称为直译式的语言,它灵活、方便、调试程序手段丰富,调试速度快,需要的学习时间少。

人们用任何一种语言编写程序和调试程序一般都要经过几个步骤:

编辑、编译、连接、执行及调试,各个步骤之间是顺序关系,编程的过程就是在他们之间作瀑布型的循环。

MATALB语言与其他语言相比,较好地解决了上述问题,把编辑、编译、连接和执行融为一体。

它能在同一界面中灵活操作,快速排除输入程序中的书写错误、语法错误以至语意错误,从而加快了用户编写、修改和调试程序的速度。

可以说,在编程和调试过程中,它是一种比VisualBasic还要简单的语言。

具体地说,MATALB在运行时,可直接在命令行输入MATALB命令语句,每输入一条语句,就立即对其进行处理,完成编译、连接和运行的全过程。

另外,可将MATALB源程序编辑为M文件,由于MATALB系统本身的函数文件也是M文件,所以编辑后的源文件也是可以直接运行的,不需要进行编译和连接。

在运行M文件时,如果有错,计算机屏幕上会给出详细的出错信息,用户经修改后再执行,直到正确为止。

所以可以说,MATALB不仅是一种语言,从广义上讲也是一种该语言的开发系统,即语言调试系统。

3、扩展能力强

高版本的MATALB语言有丰富的工具箱库函数,在进行复杂的数学运算时可以直接调用,而且因为用户文件同MATALB的库函数在形式上一样,所以用户文件也可作为MATALB的库函数来调用。

因而,用户可以根据自己的需要方便地建立和扩充新地库函数,以便提高MATALB地使用效率和扩展MATALB地功能。

另外,为了充分利用FORTRAN、C等语言资源,在整个应用程序中可以包括进用户已编好的FORTRAN、C语言程序,还可以通过建立mex文件的形式进行混合编程,从而方便地调用相关地FORTRAN、C语言程序。

换句话说,MATLAB和其他高级语言也具有良好的接口,可以方便地实现与其他语言的混合编程,从而能进一步拓宽MATALB的应用潜力。

4、语句简单,内涵丰富

MATALB语言中最基本、最重要的成份是函数,其一般形式为:

[a,b,c,…]=func(d,e,f,…),即一个函数通常由函数名func,输入变量d、e、f等,输出变量a、b、c等组成,同一函数名func,不同数目的输入变量(包括无输入变量)及不同数目的输出变量,都代表着不同的含义(类似于面向对象编程语言中的函数重载和多态性)。

这不仅使MATALB的库函数功能更为丰富,而且大大减小了函数所需磁盘空间,使得MATALB编写的M文件简单、短小而高效。

5、高效、方便的矩阵和数组运算

MATALB语言像BASIC、FORTRAN和C语言一样规定了算术运算符、关系运算符、逻辑运算符、条件运算符及赋值运算符,而且这些运算符大部分可以毫无改变地照搬到矩阵或数组间的运算,有的(如算术运算符)只要在前面增加符号“.”就可用于矩阵或数组间的运算。

另外,它不需要定义数组的维数,并给出了矩阵函数、特殊矩阵专用的库函数,使之在求解诸如信号处理、建模、系统识别、控制、优化等领域的问题时显得大为简捷、高效、方便,这是其他高级语言所不能比拟的。

在此基础上,高版本的MATALB已逐步扩展到科学及工程计算的更多其他领域。

6、方便的绘图及图形界面功能

MATALB的绘图是十分方便的,它有一系列绘图命令函数,例如线性坐标、对数坐标、半对数坐标和极坐标绘图,均只需调用不同的绘图命令函数,而且要实现在图上标出图题、x轴标签、y轴标签、网络线绘制等功能也只需调用相应的命令函数,简单易行。

同时,在调用绘图函数时,调整自变量的值即可绘出不同颜色的点、线或多重线。

这种为科学研究着想的设计是通用的编程语言所无法比拟的。

另外,目前的MATALB版本已经可以方便地设计出友好地图形用户界面,可以像VisualBasic等语言一样设计出漂亮地用户接口。

总之,MATALB语言的设计思想可以说代表了当前计算机高级语言的发展方向。

在不断的熟悉和使用中,用户将会发现MATALB的巨大潜力。

1.2MATLAB的应用开发环境

一、集成视窗环境

在计算机安装好MATLAB后,双击桌面上的MATLAB图标,或是点击开始或是点击开始

程序

MATLAB组中的相应MATLAB程序项,运行进入MATLAB,就可以进入集成视窗环境如下图所示,它是以后工作的基本环境,用户在这里键入指令,MATLAB也将计算的结果显示于此。

在当前默认设置情况下,集成视窗环境主要包括五个窗口,及主窗口、命令窗口、历史窗口、当前目录窗口和工作区管理窗口。

下面分别加以介绍。

1、主窗口

主窗口不能进行任何计算,它只是用来完成一些环境参数的设置,同时它提供了一个框架载体,其它所有窗口都是包含在该窗口中的。

主窗口最上面显示“MATLAB”字样的一栏为标题栏,标题栏的右边依次为窗口最小化按钮、窗口缩放按钮和关闭窗口按钮。

标题栏下面的主菜单包含File、Edit、Debug、Desktop、Window、Help等项。

其主要功能如下:

●File(文件处理)菜单:

本菜单主要用于新建、打开、保存、关闭一个文件。

同时还提供打印和退出系统等功能。

●Edit(编辑)菜单:

本菜单主要用于对程序源代码和窗体进行编辑整理等。

●Window(窗口)菜单:

单击该选项,可以查看当前系统打开的所有窗口,并实现不同窗口之间的转换。

●Help(帮助)菜单:

实现MATLAB的帮助功能。

菜单栏下面的工具栏显示了几个工具按钮。

工具栏有一个加速按钮板,它提供了一些最常用的菜单命令的快捷方式,当把鼠标移动到某个加速按钮上时,稍等片刻就会在鼠标的下方出现该按钮的功能提示。

熟练使用工具按钮可使工作更快捷、更方便。

2、命令(CommandWindow)窗口

一般来说,MATLAB的所有函数和命令都可以在命令窗口中输入和执行。

命令窗口是与MATLAB编辑器相连接的主窗口,在MATLAB启动之后,将显示符号“>>”,这就代表系统已处于准备接受命令的状态(“>>”就是命令提示符),用户就可以直接在提示符后面输入所编写的命令或源程序。

按下“enter”键后,系统会解释并执行所输入的命令,最后运行并给出计算结果。

例如,在命令窗口中输入一个3×3的矩阵:

>>A=[123;456;7810]

然后按下回车键,MATLAB就会返回如下结果:

A=

123

456

7810

要求对此矩阵求逆,只需输入:

>>B=inv(A)

然后按下回车键,MATLAB就会返回相应的结果:

B=

-0.6667-1.33331.0000

-0.66673.6667-2.0000

1.0000-2.00001.0000

在MATLAB里,有很多的控制键和方向键可用于编辑修改已输入的命令。

例如Ctrl+C可以用来中止正在执行中的MATLAB的工作,

两个箭头键可以将所用过的指令调回来重复使用。

其它的键如

,Home,End,Delete,Insert等,其功能非常简单,一用即知。

如果输入的命令语句超过一行,或者希望分行输入,则可以在行尾加上三个句点(…)来表示续行。

如:

>>s=1+2+...

3-5

s=

1希望sert命令或源程序,___________________________________________________________________________________________________________________

可见,使用续行符之后,系统会自动将前一行保留而不加以计算,并与下一行衔接,等待完整输入后再计算整个输入的结果。

3、历史(CommandHistory)窗口

显示用户近期输入过的指令,并标明使用时间,以便用户查询。

如果双击某一行命令,会在命令窗口中执行该命令。

4、当前目录(CurrentDirectory)窗口

在该窗口中可以显示或改变当前目录,还可以显示当前目录下的文件,包括文件名、文件类型、最后修改时间,以及该文件的说明信息等。

5、工作区(Workspace)窗口

在该窗口中显示所有当前保存在内存中的MATLAB变量的变量名、值、类型等信息。

二、M文件简介

MATLAB的源程序都是以后缀为m的文件来存放的,这种.m(或者称为M文件)文件其实就是一个纯文本文件,它采用的是MATLAB所特有的一套语言及其语法规则。

在实验课中,我们主要应用MATLAB进行信号与系统实验,实际上就是通过编辑和运行这种.m文件来完成一些跟信号与系统相关的分析和处理任务。

M文件有两种写法,一种称为脚本(Script),就像批处理文件一样,包含了一连串的MATLAB命令,执行时依序执行;另一种称为函数(Function),与在命令行中输入的命令(如plot命令)一样,函数能接受输入的参数,然后执行并输出结果。

三、设置当前工作目录

在编辑和运行.m文件之前,还有一个很重要的工作要做,就是设置MATLAB的当前工作目录。

MATLAB有一个专门用以寻找.m文件的路径搜索器。

.m文件是以目录或文件夹的方式分布于硬盘的文件系统中的,有一部分.m文件的目录是MATLAB所安装目录的子目录。

具体做法是:

新建一个目录作为自己的工作目录,用来存放自己编的.m源程序文件。

MATLAB中有一个当前目录的设置,用以缺省地存放当前操作中的.m文件等(也就是说,当用户保存一个.m文件时,直接出现的文件保存对话框就是让用户保存在这个当前工作目录中,当然用户也可以保存到其它的目录中去)。

在Windows版本的MATLAB系统中,最初默认的当前工作目录是MATLAB安装目录下的work子目录。

对于本实验中的MATLAB6.5版本,直接点命令窗口的上排工具栏最右边CurrentDirectory文本框边上的“…”按钮,将刚才新建的自己的工作目录设为当前工作目录。

四、M文件的编辑与运行

1、M文件的建立及保存

新建.m文件的方法是:

在命令窗口中点击File菜单中的New

M-file,或是直接点击上面一排工具栏中最左边的那个“NewM-file”按钮,或者是直接在命令窗口中输入edit命令,就可以打开空白的MATLAB编辑/调试器窗口,开始编写并最后保存.m文件了。

注意:

保存.m文件所用的文件名不能以数字开头,其中不能包括中文字,也不能包含“.”、“+”、“-”、“^”和空格等特殊字符(但可以包含下划线“_”),也不能与当前工作空间(Workspace)中的参数、变量、元素同名,而且也不能与MATLAB系统固有内部函数同名,否则运行时会报错,或者得不到所希望的结果。

2、M文件的编辑和查看

假设要进行编辑的.m文件名为AAA.m。

在MATLAB命令窗口中输入命令:

>>editAAA或editAAA.m

>>openAAA或openAAA.m

即可打开MATLAB编辑器,并打开这个名为AAA.m的文件开始编辑。

如果在当前搜索路径中并不能找到名为AAA.m的文件则MATLAB会提示你是否创建为此文件名的新的.m文件,然后打开MATLAB编辑器供用户编辑文件,并且最后在保存时自动缺省地保存文件名为AAA.m。

也可以在命令窗口中点击File菜单中的Open…,或是直接点击上排工具栏左起第二个“Openfile”按钮找到并在MATLAB编辑器中打开一个.m文件进行编辑。

MATLAB编辑器提供彩色高亮显示的功能,所输入的文字会自动根据文字特性而以不同的颜色显示。

最主要的文字特性在缺省设置时有下面几种:

●说明及注释——以绿色显示;

●关键字——以蓝色显示;

●未完成的字符串——以红色显示;

●已完成的字符串——以棕色显示;

●其他文字——以黑色显示。

3、M文件的运行

仍然假设要运行的.m文件名为AAA.m。

有几种运行它的方法:

(1)在命令窗口中直接输入.m文件名(如AAA),然后回车即可运行。

注意:

不要带上后面的.m后缀。

(2)在命令窗口中输入run加上空格再加上.m文件名,然后回车即可运行。

注意:

不要带上后缀.m。

(3)当用前面介绍的方法再MATLAB编辑/调试器中打开了AAA.m这个文件之后,直接按MATLAB编辑/调试器的上排工具栏中的Run按钮,或者是点击菜单Debug下的Run项,或者是直接按快捷键F5,即可运行。

在这里要注意的是:

如果直接在资源管理器里面通过双击.m文件而在MATLAB编辑/调试器中打开该.m文件,那么这时MATLAB编辑/调试器的Tools或Debug菜单中的Run项将处于灰色禁用状态。

也就是说,这样将无法正常运行这个,m文件,而只能用前面介绍的方法打开.m文件以后才能正常运行它。

还有,当新建了一个.m文件尚未保存时,这个菜单中的Run项也是处于灰色禁用状态的,只有当保存之后,这个Run项才可以点击,才能运行.m文件。

五、MATLAB帮助功能

MATLAB提供了内容丰富的帮助文档,有以下几种方法可获得帮助:

帮助命令、lookfor命令、帮助窗口、帮助桌面、联机演示系统、在线帮助或直接通过互联网链接到MathWorks公司。

当然,也可以通过访问Internet上数目众多的专业或业余网站来获得许多有意义的帮助,它们也提供了许多有价值的MATLAB资源。

下面我们主要介绍两种帮助的使用方法。

1、帮助命令

帮助命令是查询函数相关信息的最基本方式,信息会直接显示在命令窗口中,如果知道要查找的主题(topic),可直接键入help

所以即使用户手头没有MATLAB的使用手册,也可以使用help指令查询不熟悉的指令或者主题的用法,例如,键入命令:

>>helpcos

会显示关于cos函数的解释如下:

COSCosine.

COS(X)isthecosineoftheelementsofX.

Overloadedmethods

helpsym/cos.m

2、lookfor命令

它可以根据用户键入的关键字(这个关键字并不一定是MATLAB的指令),列出所有相关的主题。

与help比起来,lookfor所能覆盖范围更宽,可查找到包含在某个主题中的所有词组或短语。

例如,要查找关键字cos的所有相关信息,可以使用lookfor命令:

>>lookforcos

返回的搜索结果将是一个很长的列表:

ACOSInversecosine.

ACOSHInversehyperboliccosine.

ACSCInversecosecant.

ACSCHInversehyperboliccosecant.

COSCosine.

COSHHyperboliccosine.

CSCCosecant.

CSCHHyperboliccosecant.

1.3MATLAB的基本指令

一、算术运算

算术运算是最基本的运算形式,它的实现非常简单。

MATLAB提供了以下几种类型的算术运算。

基本运算符

数学表达式

符号

MATLAB表达式

a+b

+

a+b

a-b

-

a-b

a×b

*

a*b

a÷b

/或\

a/b或a\b

ab

^

a^b

二、基本数据类型

MATLAB所涉及的数据类型主要包括数值、逻辑、字符串、元胞、结构、类等,下面介绍其中常用的两种。

1、数值类型

数值类型是MATLAB中最重要的数据类型,采用习惯的十进制表示,可以带小数点或负号,系统默认的类型是双精度型(double)。

2、字符串类型

MATLAB提供了用来存储和处理字符串的字符串数组,字符串的每个字符(包括空格)都是字符数组的一个元素,其构建方式是通过包含在一对单引号中的字符集合来实现的。

如:

>>s='hello,MATLAB'

s=

hello,MATLAB

3、变量和表达式

(1)变量

在代数中,人们采用拉丁字母、希腊字母及其他符号来表示未知数或可能会变化的数字。

在计算机中也有相应的表示,称之为变量,它是指在程序执行过程中存储数值可以变化的量。

变量在计算机内存中占据一定的存储单元,在该单元中存放变量的值。

每个变量都有一个名字,称为变量名。

MATLAB对变量的命名方式有如下规定:

●变量名由字母、数字和下划线组成,字母间不能有空格,而且第一个字符必须为字母。

例如,x和m_ab2都是合法变量名,而2a和ya1就不是,另外汉字不能出现在变量名中;

●变量名中的英文字母大小写是有区别的(称之为大小写敏感),例如,XY、xy、Xy、xY就是四个不同的变量名;

●变量名

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 农林牧渔 > 林学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1