欢迎学习 MATLAB

Preview:

DESCRIPTION

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

Citation preview

MATLAB 语言基础

MATLAB 语言基础

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

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

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

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

ry 矩阵实验室的意思

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

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

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

计算机语言的发展

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

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

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

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

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

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

AN, ASSEMBLER, MATLAB)

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

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

二、 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

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)

• 阶梯图

用四种方法描述 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

50 100 150 200 250 300

20

40

60

80

100

120

140

160

180

200

100 200 300 400 500 600

50

100

150

200

250

300

350

400

450

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

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

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

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

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

做是一个 11 的矩阵

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

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

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

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

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

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

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

4. 图形化程序编制功能

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

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

实现编程功能

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

许多学科,在 MATLAB 中都有专

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

但 MATLAB 语言的扩展开发还远

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

将使得 MATLAB 更加强大

6.MATLAB 的兼容功能

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

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

7.MATLAB 的容错功能

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

1/0

Warning: Divide by zero

ans =

Inf

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

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

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

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

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

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

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

(3) 利用快捷方式。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

1.4 MATLAB帮助系统

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

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

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

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

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

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

待 机 状 态

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

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

、 Help等项可以选择。

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

 

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

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

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

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

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

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

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

• type myfile.m

• 与 dos下的用法完全一样

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

4.delete — 删除指定文件

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

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

六、 matlab 的数据与变量

1.变量查询函数 who 与 whos

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

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

2.永久变量

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

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

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

• pi — 圆周率的近似值 3.1415926

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

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

3. what 程序查询指令

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

七、文件系统与路径函数

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

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

• path 路径函数

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

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

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

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

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

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

help 显示 help 主题一览表

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

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

help help 显示 help 的帮助信息

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

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

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

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

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

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

如 FFT Discrete Fourier transform

九、 matlab 的演示功能

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