76

欢迎学习 MATLAB

  • Upload
    filia

  • View
    108

  • Download
    0

Embed Size (px)

DESCRIPTION

欢迎学习 MATLAB. MATLAB 语言基础. 主讲教师 :谭阳红 电子信息与信息工程学院. 第一节 MATLAB 语言概述. 一、 MATLAB 语言的发展 matlab 语言是由美国的 Clever Moler 博士于 1980 年开发的 设计者的初衷是为解决“线性代数”课程的矩阵运算问题 取名 MATLAB 即 Mat rix Lab oratory 矩阵实验室的意思. 它将一个优秀软件的易用性与可靠性、通用性与专业性 、一般目的的应用与高深的科学技术应用有机的相结合 - PowerPoint PPT Presentation

Citation preview

Page 1: 欢迎学习 MATLAB
Page 2: 欢迎学习 MATLAB

MATLAB 语言基础

MATLAB 语言基础

主讲教师:谭阳红 电子信息与信息工程学院

Page 3: 欢迎学习 MATLAB

第一节 MATLAB 语言概述一、 MATLAB 语言的发展 matlab 语言是由美国的 Clever Mo

ler 博士于 1980 年开发的 设计者的初衷是为解决“线性代

数”课程的矩阵运算问题 取名 MATLAB 即 Matrix Laborato

ry 矩阵实验室的意思

Page 4: 欢迎学习 MATLAB

它将一个优秀软件的易用性与可靠性、通用性与专业性 、一般目的的应用与高深的科学技术应用有机的相结合

MATLAB 是一种直译式的高级语言,比其它程序设计语言容易

Page 5: 欢迎学习 MATLAB

MATLAB 语言与其它语言的关系仿佛和 C 语言与汇编语言的关系一样

计算机语言的发展

数值运算 解析运算管理、可视化 智能化

标志着计算机语言向“智能化”方向发展,被称为第四代编程语言。

Page 6: 欢迎学习 MATLAB

MATLAB 已经不仅仅是一个“矩阵实验室”了,它集科学计算、图象处理;声音处理于一身,并提供了丰富的 Wi

ndows 图形界面设计方法MATLAB 语言是功能强大的计算机高

级语言 , 它以超群的风格与性能风靡全世界 , 成功地应用于各工程学科的研究领域

Page 7: 欢迎学习 MATLAB

MATLAB 在美国已经作为大学工科学生必修的计算机语言之一 (C, FORTR

AN, ASSEMBLER, MATLAB)

近年来, MATLAB 语言已在我国推广使用,现在已应用于各学科研究部门和许多高等院校

MATLAB 语言不受计算机硬件的影响,286 以上的计算机都可以使用

Page 8: 欢迎学习 MATLAB

二、 matlab 能在各领域做什麽 工业研究与开发 数学教学,特别是线性代数 数值分析和科学计算方面的教学与研究 电子学、控制理论和物理学等工程和科学 学科方面的教学与研究 经济学、化学和生物学等计算问题的所有

其他领域中的教学与研究

Page 9: 欢迎学习 MATLAB

例、用一个简单命令求解线性系统 3x1+ x2 - x3 = 3.6

x1+2x2+4x3 = 2.1

-x1+4x2+5x3 = -1.4A=[3 1 -1;1 2 4;-1 4 5];b=[3.6;2.1;-1.4];x=A\bx = 1.4818 -0.4606 0.3848

对于线性系统有 Ax=b

Page 10: 欢迎学习 MATLAB

0 1 2 3 4 5 6-1

-0.8

-0.6

-0.4

-0.2

0

0.2

0.4

0.6

0.8

1

例、用简短命令计算并绘制在 0x6 范围内的 sin(2x) 、 sinx2 、 sin2x 。x=linspace(0,6)

y1=sin(2*x),y2=sin(x.^2),y3=(sin(x)).^2;

plot(x,y1,x, y2,x, y3)

Page 11: 欢迎学习 MATLAB

• 阶梯图

Page 12: 欢迎学习 MATLAB

用四种方法描述 cos(x)*sin(y) 图形

-5

0

5

-4-2

02

4-1

-0.5

0

0.5

1

-5

0

5

-4-2

02

4-1

-0.5

0

0.5

1

-4 -2 0 2 4-4

-3

-2

-1

0

1

2

3

4

Page 13: 欢迎学习 MATLAB
Page 14: 欢迎学习 MATLAB

50 100 150 200 250 300

20

40

60

80

100

120

140

160

180

200

Page 15: 欢迎学习 MATLAB
Page 16: 欢迎学习 MATLAB

100 200 300 400 500 600

50

100

150

200

250

300

350

400

450

Page 17: 欢迎学习 MATLAB

二、 MATLAB 语言的特点:• 语言简洁紧凑,语法限制不严,程序设计 自由度大,可移植性好• 运算符、库函数丰富• 图形功能强大• 界面友好、编程效率高• 扩展性强

Page 18: 欢迎学习 MATLAB

三、 MATLAB 语言的功能:•强大的数值(矩阵)运算功能•广泛的符号运算功能•高级与低级兼备的图形功能(计算结果的可视化功能)•可靠的容错功能•应用灵活的兼容与接口功能•信息量丰富的联机检索功能

Page 19: 欢迎学习 MATLAB

1. 矩阵运算功能MATLAB 提供了丰富的矩阵运算处理功

能,是基于矩阵运算的处理工具。变量 矩阵,运算 矩阵的运算例如 C = A + B , A,B,C 都是矩阵 , 是

矩阵的加运算即使一个常数, Y=5 , MATLAB 也看

做是一个 11 的矩阵

Page 20: 欢迎学习 MATLAB

2. 符号运算功能• 符号运算即用字符串进行数学分析

• 允许变量不赋值而参与运算

• 用于解代数方程、微积分、复合导数、积分、二重积分、有理函数、微分方程、泰乐级数展开、寻优等等,可求得解析符号解

Page 21: 欢迎学习 MATLAB

3. 丰富的绘图功能与计算结果的可视化

• 具有高层绘图功能——两维、三维绘图

• 具有底层绘图功能——句柄绘图

• 使用 plot 函数可随时将计算结果可视化

Page 22: 欢迎学习 MATLAB

4. 图形化程序编制功能

• 动态系统进行建模、仿真和分析的软件包

• 用结构图编程,而不用程序编程• 只需拖几个方块、连几条线,即可

实现编程功能

Page 23: 欢迎学习 MATLAB
Page 24: 欢迎学习 MATLAB

5. 丰富的 MATLAB 工具箱• MATLAB 主工具箱• 符号数学工具箱• SIMULINK 仿真工具箱• 控制系统工具箱• 信号处理工具箱• 图象处理工具箱• 通讯工具箱• 系统辨识工具箱• 神经元网络工具箱• 金融工具箱

Page 25: 欢迎学习 MATLAB

许多学科,在 MATLAB 中都有专

用工具箱,现已有 30 多个工具箱,

但 MATLAB 语言的扩展开发还远

远没有结束,各学科的相互促进,

将使得 MATLAB 更加强大

Page 26: 欢迎学习 MATLAB

6.MATLAB 的兼容功能

• 可与 C 语言、 FORTURE 语言跨平台兼容

• 用函数 CMEX 、 FMEX 实现• 此功能不推荐使用

Page 27: 欢迎学习 MATLAB

7.MATLAB 的容错功能

•非法操作时,给出提示,并不影响其操作

1/0

Warning: Divide by zero

ans =

Inf

Page 28: 欢迎学习 MATLAB

8.MATLAB 的开放式可扩充结构 • matlab 所有函数都是开放的• 用户可按自己意愿随意更改• 正因为此功能,使得 matlab 的应用越来越广泛

9. 强大的联机检索帮助系统• 可随时检索 matlab 函数• 可随时查询 matlab 函数的使用方法

Page 29: 欢迎学习 MATLAB

1.2 MATLAB 的运行环境与安装• 1.2.1 MATLAB 的运行环境

硬件环境:(1) CPU (2) 内存(3) 硬盘(4) CD-ROM 驱动器和鼠标。软件环境:(1) Windows 98/NT/2000 或 Windows XP(2) 其他软件根据需要选用

Page 30: 欢迎学习 MATLAB

• 1.2.2 MATLAB 的安装安装 MATLAB 6.5 系统,需运行系统自带的安装程序 setup.exe ,可以按照安装提示依次操作。

Page 31: 欢迎学习 MATLAB

1.3 MATLAB 集成环境• 1.3.1 启动与退出 MATLAB 集成环

境1 . MATLAB 系统的启动与一般的 Windows 程序一样,启动 MATLAB 系统有 3 种常见方法:(1) 使用 Windows“ 开始”菜单。(2) 运行 MATLAB 系统启动程序 matlab.exe 。

(3) 利用快捷方式。

Page 32: 欢迎学习 MATLAB

• 启动 MATLAB 后,将进入 MATLAB 6.5 集成环境。 MATLAB 6.5 集成环境包括 MATLAB 主窗口、命令窗口 (Command Window) 、工作空间窗口 (Workspace) 、命令历史窗口 (Command History) 、当前目录窗口 (Current Directory) 和启动平台窗口 (Launch Pad) 。

Page 33: 欢迎学习 MATLAB

当 MATLAB 安装完毕并首次启动时,展现在屏幕上的界面为 MATLAB 的默认界面,如右图所示。

Page 34: 欢迎学习 MATLAB

• 2 . MATLAB 系统的退出要退出 MATLAB 系统,也有 3 种常见方法:(1) 在 MATLAB 主窗口 File 菜单中选择 Exit MATLAB 命令。(2) 在 MATLAB 命令窗口输入 Exit 或 Quit 命令。(3) 单击 MATLAB 主窗口的“关闭”按钮。

Page 35: 欢迎学习 MATLAB

• 1.3.2 主窗口MATLAB 主窗口是 MATLAB 的主要工作界面。主窗口除了嵌入一些子窗口外,还主要包括菜单栏和工具栏。1 .菜单栏在 MATLAB 6.5 主窗口的菜单栏,共包含 File 、 Edit 、 View 、 Web 、 Window 和 Help 6 个菜单项。

Page 36: 欢迎学习 MATLAB

• (1) File 菜单项: File 菜单项实现有关文件的操作。(2) Edit 菜单项: Edit 菜单项用于命令窗口的编辑操作。(3) View 菜单项: View 菜单项用于设置MATLAB 集成环境的显示方式。

Page 37: 欢迎学习 MATLAB

• (4) Web 菜单项: Web 菜单项用于设置MATLAB 的 Web 操作。(5) Window 菜单项:主窗口菜单栏上的 Window 菜单,只包含一个子菜单 Close all ,用于关闭所有打开的编辑器窗口,包括 M-file 、 Figure 、 Model 和 GUI 窗口。(6) Help 菜单项: Help 菜单项用于提供帮助信息。

Page 38: 欢迎学习 MATLAB

• 2 .工具栏MATLAB 6.5 主窗口的工具栏共提供了10 个命令按钮。这些命令按钮均有对应的菜单命令,但比菜单命令使用起来更快捷、方便。

Page 39: 欢迎学习 MATLAB

• 1.3.3 命令窗口命令窗口是 MATLAB 的主要交互窗口,用于输入命令并显示除图形以外的所有执行结果。MATLAB 命令窗口中的“ >>” 为命令提示符,表示 MATLAB正在处于准备状态。在命令提示符后键入命令并按下回车键后, MATLAB就会解释执行所输入的命令,并在命令后面给出计算结果。

Page 40: 欢迎学习 MATLAB

• 一般来说,一个命令行输入一条命令,命令行以回车结束。但一个命令行也可以输入若干条命令,各命令之间以逗号分隔,若前一命令后带有分号,则逗号可以省略。例如p=15,m=35p=15;m=35

Page 41: 欢迎学习 MATLAB

• 如果一个命令行很长,一个物理行之内写不下,可以在第一个物理行之后加上 3个小黑点并按下回车键,然后接着下一个物理行继续写命令的其他部分。 3 个小黑点称为续行符,即把下面的物理行看作该行的逻辑继续。在 MATLAB里,有很多的控制键和方向键可用于命令行的编辑。

Page 42: 欢迎学习 MATLAB

• 1.3.4 工作空间窗口工作空间是 MATLAB 用于存储各种变量和结果的内存空间。在该窗口中显示工作空间中所有变量的名称、大小、字节数和变量类型说明,可对变量进行观察、编辑、保存和删除。

Page 43: 欢迎学习 MATLAB

• 1.3.5 当前目录窗口和搜索路径1 .当前目录窗口当前目录是指MATLAB 运行文件时的工作目录,只有在当前目录或搜索路径下的文件、函数可以被运行或调用。在当前目录窗口中可以显示或改变当前目录,还可以显示当前目录下的文件并提供搜索功能。将用户目录设置成当前目录也可使用 cd 命令。例如,将用户目录 c:\mydir 设置为当前目录,可在命令窗口输入命令:cd c:\mydir

Page 44: 欢迎学习 MATLAB

• 2 . MATLAB 的搜索路径当用户在 MATLAB 命令窗口输入一条命令后, MATLAB 按照一定次序寻找相关的文件。基本的搜索过程是:(1) 检查该命令是不是一个变量。(2) 检查该命令是不是一个内部函数。(3) 检查该命令是否当前目录下的 M文件。(4) 检查该命令是否MATLAB搜索路径中其他目录下的 M文件。

Page 45: 欢迎学习 MATLAB

• 用户可以将自己的工作目录列入 MATLAB搜索路径,从而将用户目录纳入 MATLAB 系统统一管理。设置搜索路径的方法有: (1) 用 path 命令设置搜索路径。例如,将用户目录 c:\mydir 加到搜索路径下,可在命令窗口输入命令:path(path,’c:\mydir’)

Page 46: 欢迎学习 MATLAB

• (2) 用对话框设置搜索路径 在 MATLAB 的 File 菜单中选 Set Path命令或在命令窗口执行 pathtool 命令,将出现搜索路径设置对话框。通过 Add Folder 或 Add with Subfolder 命令按钮将指定路径添加到搜索路径列表中。在修改完搜索路径后,则需要保存搜索路径。

Page 47: 欢迎学习 MATLAB

• 1.3.6 命令历史记录窗口在默认设置下,历史记录窗口中会自动保留自安装起所有用过的命令的历史记录,并且还标明了使用时间,从而方便用户查询。而且,通过双击命令可进行历史命令的再运行。如果要清除这些历史记录,可以选择 Edit 菜单中的 Clear Command History 命令。

Page 48: 欢迎学习 MATLAB

• 1.3.7 启动平台窗口和 Start 按钮MATLAB 6.5 的启动平台窗口可以帮助用户方便地打开和调用 MATLAB 的各种程序、函数和帮助文件。MATLAB 6.5 主窗口左下角还有一个 Start按钮,单击该按钮会弹出一个菜单,选择其中的命令可以执行 MATLAB产品的各种工具,并且可以查阅MATLAB 包含的各种资源。

Page 49: 欢迎学习 MATLAB

1.4 MATLAB帮助系统

1.4.1 帮助窗口进入帮助窗口可以通过以下 3 种方法:(1) 单击 MATLAB 主窗口工具栏中的 Help 按钮。(2) 在命令窗口中输入 helpwin 、 helpdesk 或 doc 。(3) 选择 Help 菜单中的“ MATLAB Help” 选项。

Page 50: 欢迎学习 MATLAB

• 1.4.2 帮助命令MATLAB帮助命令包括 help 、 lookfor 以及模糊查询。1 . help 命令在 MATLAB 6.5 命令窗口中直接输入 help命令将会显示当前帮助系统中所包含的所有项目,即搜索路径中所有的目录名称。同样,可以通过 help 加函数名来显示该函数的帮助说明。

Page 51: 欢迎学习 MATLAB

• 2 . lookfor 命令help 命令只搜索出那些关键字完全匹配的结果, lookfor 命令对搜索范围内的 M文件进行关键字搜索,条件比较宽松。lookfor 命令只对M文件的第一行进行关键字搜索。若在 lookfor 命令加上 -all 选项,则可对M文件进行全文搜索。

Page 52: 欢迎学习 MATLAB

• 3 .模糊查询MATLAB 6.0 以上的版本提供了一种类似模糊查询的命令查询方法,用户只需要输入命令的前几个字母,然后按 Tab键,系统就会列出所有以这几个字母开头的命令。

Page 53: 欢迎学习 MATLAB

• 1.4.3 演示系统在帮助窗口中选择演示系统 (Demos) 选项卡,然后在其中选择相应的演示模块,或者在命令窗口输入 Demos ,或者选择主窗口 Help 菜单中的 Demos子菜单,打开演示系统。

Page 54: 欢迎学习 MATLAB

• 1.4.4 远程帮助系统在 MathWorks公司的主页 (http://www.mathworks.com) 上可以找到很多有用的信息,国内的一些网站也有丰富的信息资源。

Page 55: 欢迎学习 MATLAB

待 机 状 态

工作窗出现以后,即可进行各种操作

Page 56: 欢迎学习 MATLAB

四、 MATLAB 界面与 Windows 的窗口界面类似,有菜单项 File 、 Edit 、 Option 、 Windows

、 Help等项可以选择。

Page 57: 欢迎学习 MATLAB

菜单项 File ,其功能如下New 建立新文件Open M-File 打开 M-文件Open selected 打开选定文件Save Workspace As 将工作区存为Run M-File 运行 M-文件Look For Selected 寻找选定文件Print 打印Print Setup 打印设置Exit MATLAB 退出 MATLAB

Page 58: 欢迎学习 MATLAB

 

Page 59: 欢迎学习 MATLAB

•如果选择 Options\Numeric Format( 数字显示格式)可以得出下一级子菜单,允许用户设置matlab下结果数据的显示格式。

•可从中选择 Short (默认的简洁格式)和Long (高精度格式)等

由于各菜单项的选择、执行方法与 Windows风格完全相同,就不一一说明了。

Page 60: 欢迎学习 MATLAB
Page 61: 欢迎学习 MATLAB

五、 matlab 与 dos兼容命令1.dir— 可列出指定目录下的文件和子目录清单

例如 :•Dir 可显示当前目录下的所有文件•Dir c:\matlab•Dir c:\matlab\*.m

Page 62: 欢迎学习 MATLAB

2.cd— 可改变当前工作目录• cd _ _ —— 显示当前子目录 • cd c:\matlab\toolbox

• cd _ . . —— 退出当前子目录到上一级目录• cd _\ ——回到根目录

Page 63: 欢迎学习 MATLAB

• type myfile.m

• 与 dos下的用法完全一样

3.type — 可显示指定文件的全部内容

Page 64: 欢迎学习 MATLAB

4.delete — 删除指定文件

• del abc — 删除当前目录下的 abc文件• del c:\matlab\aaa.m

• 注意:只可删除用户文件,其它文件不要轻易删除,否则系统会瘫痪

Page 65: 欢迎学习 MATLAB

六、 matlab 的数据与变量

1.变量查询函数 who 与 whos

• 作用都是列出在 matlab 工作空间中已经驻留的变量名清单

• 不同的是 whos 在给出驻留变量的同时,还给出他们的维数及性质

Page 66: 欢迎学习 MATLAB

2.永久变量

• 在 matlab 工作内存中 ,驻留了几个由系统本身在启动时定义的变量,我们称为永久变量

• 永久变量用 who指令是查看不到的,只可随时调用

Page 67: 欢迎学习 MATLAB

• eps — 容差变量,定义为 1.0到最近浮点数的距离 , 在 pc 机上 = 2-52

• pi — 圆周率的近似值 3.1415926

• inf 或 Inf — 表示正无大 ,定义为 1/0

• NaN — 非数,它产生于 0× , 0/0 , / 等运算• i , j — 虚数单位• ans — 对于未赋值运算结果,自动赋给 ans

Page 68: 欢迎学习 MATLAB

3. what 程序查询指令

• what 按扩展名分类列出当前目录上的文件• what *.m 列出当前目录中所有m文件

Page 69: 欢迎学习 MATLAB

七、文件系统与路径函数

• which 列出指定文件所在的目录

which test.m 显示 test.m 所在的路径

• path 路径函数

path 显示 matlab 启动时设定的搜索路径

Page 70: 欢迎学习 MATLAB

• path(path,’c:\mydir’) 将根目录下的 mydir 临时纳入搜索路径

• 可将你需要的目录永久纳入matlab搜索路径

打开 c:\matlab\matlabrc.m文件

在所有搜索路径后加上‘ c:\mydir\;’,…

Page 71: 欢迎学习 MATLAB

matlab 联机帮助命令• help 功能提供matlab 大部分主题的在线帮助信息

help 显示 help 主题一览表

help plotxyz 显示有关三维做图指令帮助信息

help [ 显示特殊字符与符号帮助信息

help help 显示 help 的帮助信息

Page 72: 欢迎学习 MATLAB

虽然 help 可以随时提供帮助,但必须知道准确的函数名称。当不能确定函数名称时, help就无能为力了。

• Lookfor 函数— 它可提供通过一般的关

键词,搜索出一组与之相关的命令

lookfor fourier 寻找含有傅立叶变换的相关指令

Page 73: 欢迎学习 MATLAB

help 、 lookfor 两个指令构成了matlab 语言相当完善的在线帮助查询系统

lookfor fouri 寻找所有包含 fouri 的指令和注释

如 FFT Discrete Fourier transform

Page 74: 欢迎学习 MATLAB

九、 matlab 的演示功能

• intro 入门演示• demo 在线演示

Page 75: 欢迎学习 MATLAB
Page 76: 欢迎学习 MATLAB