matlab第一章课件.ppt
matlab第一章课件 Four short words sum up what has lifted most successful Four short words sum up what has lifted most successful individuals above the crowd: a little bit more. individuals above the crowd: a little bit more. -author -author -date-date第一章 概述 MATLAB(matrix laboratory)是一种开放型程序设计语言,是是一种开放型程序设计语言,是MathWorks公司开发的科学与工程计公司开发的科学与工程计算软件算软件,它以矩阵运算为基础它以矩阵运算为基础,把计算、把计算、绘图及动态系统仿真等功能有机地融绘图及动态系统仿真等功能有机地融合在一起。同时,它又具有程序设计合在一起。同时,它又具有程序设计语言的基本特征。语言的基本特征。1.1 MATLAB的发展历程的发展历程1980年,美国新墨西哥大学计算机科学系主任年,美国新墨西哥大学计算机科学系主任Cleve 着手编写供学生使用的子程序接口程序,取名为着手编写供学生使用的子程序接口程序,取名为MATLAB;1984年,推出了年,推出了MATLAB第一个商业版本;第一个商业版本;1992年,推出年,推出MATLAB 4.0版;版;1997年,推出年,推出MATLAB 5.0版;版;2000年,推出年,推出MATLAB 6.0版;版;2004年,推出年,推出MATLAB 7.0版;版;2008年,推出年,推出MATLAB 7.6版。版。 1数值计算和符号计算功能数值计算和符号计算功能MATLAB以矩阵作为数据操作的基本单位,还提以矩阵作为数据操作的基本单位,还提供了十分丰富的数值计算函数。供了十分丰富的数值计算函数。MATLAB和著名的符号计算语言和著名的符号计算语言Maple相结合,相结合,使得使得MATLAB具有符号计算功能。具有符号计算功能。2绘图功能绘图功能MATLAB可以绘制各种图形,包括二维图形和三可以绘制各种图形,包括二维图形和三维图形,还可以对图形进行修饰和控制,以增强维图形,还可以对图形进行修饰和控制,以增强图形的表现效果。提供了两个层次的绘图操作:图形的表现效果。提供了两个层次的绘图操作:一种是对图形句柄进行的低层绘图操作,另一种一种是对图形句柄进行的低层绘图操作,另一种是建立在低层绘图操作之上的高层绘图操作。是建立在低层绘图操作之上的高层绘图操作。1.2 MATLAB的主要功能的主要功能3编程语言编程语言MATLAB具有程序结构控制、函数调用、数据结构、具有程序结构控制、函数调用、数据结构、输入输出、面向对象等程序语言特征,而且简单易输入输出、面向对象等程序语言特征,而且简单易学、编程效率高。学、编程效率高。4MATLAB工具箱工具箱 MATLAB包含两部分内容:基本部分和各种可选包含两部分内容:基本部分和各种可选的工具箱。的工具箱。MATLAB工具箱分为两大类:功能性工工具箱分为两大类:功能性工具箱和学科性工具箱。具箱和学科性工具箱。1.3 MATLAB的在电子信息类课的在电子信息类课程中的应用程中的应用目前,目前,MATLAB在工程计算与数值分析、控制系统设计与在工程计算与数值分析、控制系统设计与仿真、信号处理、图像处理、金融建模设计与分析生物仿真、信号处理、图像处理、金融建模设计与分析生物医学工程、语言处理、计算机技术等学科领域都有着十医学工程、语言处理、计算机技术等学科领域都有着十分广泛的应用。分广泛的应用。 例例1-1 绘制正弦曲线和余弦曲线。绘制正弦曲线和余弦曲线。x=0:0.5:360*pi/180;plot(x,sin(x),x,cos(x); 例例1-2 求方程求方程 3x4+7x3 +9x2-23=0的全部根。的全部根。p=3,7,9,0,-23; %建立多项式系数向量建立多项式系数向量x=roots(p) %求根求根1MATLAB在高等数学中的应用在高等数学中的应用 矩阵分析、矩阵分析、 多项式运算、多项式运算、 数据的分析与统计、数据的分析与统计、 函函数分析与数值积分数分析与数值积分 例例1-3 求积分求积分quad(x.*log(1+x),0,1)例例1-4 求解线性方程组。求解线性方程组。a=2,-3,1;8,3,2;45,1,-9; b=4;2;17; x=inv(a)*b)(x1logx102MATLAB在信号处理中的应用在信号处理中的应用 信号的基本运算信号的基本运算、信号的能量和功率信号的能量和功率、 线性时不线性时不变系统的响应变系统的响应、 线性时不变系统的频率响应线性时不变系统的频率响应 、傅傅里叶里叶(Fourier)变换变换、IIR数字滤波器的设计方法数字滤波器的设计方法、FIR数字滤波器设计数字滤波器设计 例例1-5 1-5 求离散时间系统2114 . 0132)(zzzzH的零、极点向量和增益系数。在命令窗口输入:在命令窗口输入: num=2,3; den=1,0.4,1; num,den=eqtflength(num,den);%使长度相等 z,p,k=tf2zp(num,den)屏幕显示为屏幕显示为z = 0 -1.5000p = -0.2000 + 0.9798i -0.2000 - 0.9798ik = 2例例1-6 试用频率抽样法设计一个FIR低通滤波器,该滤波器的截止频率为0.5pi,频率抽样点数为33。MATLAB源程序为:N=32;F=0:1/32:1; %设置抽样点的频率,抽样频率必须含0和1。A=ones(1,16),zeros(1,N-15); %设置抽样点相应的幅值B=fir2(N,F,A);freqz(B); %绘制滤波器的幅相频曲线figure(2);stem(B,.); %绘制单位冲激响应的实部line(0,35,0,0);xlabel(n);ylabel(h(n);图图4.49滤波器的频率响应和单位冲激响应序列滤波器的频率响应和单位冲激响应序列 3MATLAB在自动控制原理的应用在自动控制原理的应用 控制系统控制系统建模、建模、控制系统的时域分析控制系统的时域分析 、控制系统的控制系统的根轨迹根轨迹 、控制系统的频域分析、控制系统的频域分析、系统的状态空间分、系统的状态空间分析、析、极点配置和观测器设置极点配置和观测器设置、最优控制系统设计、最优控制系统设计 例例1-7 系统传递函数为:系统传递函数为:求脉冲响应。MATLAB程序如下:sys=tf(4,1 1 4); %生成传递函数模型impulse(sys); %计算并绘制系统的单位冲激响应title(脉冲响应脉冲响应);该程序运行所得结果如图所示。例例1-8 由连续系统:试绘制其零极点图和根轨迹图。MATLAB程序为:num=2,5,1; den=1,2,3;sys=tf(num,den); %生成传递函数模型figure(1); pzmap(sys);title(零极点图); %绘制零极点图figure(2); rlocus(sys); sgrid; title(根轨迹); %绘制根轨迹图32152)(22sssssH图5.12 传递函数的零极点图和根轨迹图 4 MATLAB在通信原理中的应用在通信原理中的应用使用通信工具箱函数进行:信息的度量和编码使用通信工具箱函数进行:信息的度量和编码 、差、差错控制编错控制编/译码方法译码方法 、模拟调制和解调、数字调制、模拟调制和解调、数字调制和解调、通信系统的性能仿真、扩频通信系统的仿和解调、通信系统的性能仿真、扩频通信系统的仿真真 。5.Simulink的应用的应用Simulink是是MATLAB提供的实现动态系统建模和仿真的提供的实现动态系统建模和仿真的软件包,是软件包,是MATLAB现对独立的重要组成部分。现对独立的重要组成部分。例例1-9 利用MATLAB对一信号进行基带调制解调。MATLAB程序如下:Fs=100; %信号采样频率t=0:1/Fs:5; %信号采样时间x=sin(2*pi*t),.5*cos(5*pi*t),sawtooth(4*t); %输入信号原y=amodce(x,Fs,fm); %调制 z=ademodce(y,Fs,fm); %解调 subplot(2,1,1);plot(x); %绘制源信号 subplot(2,1,2);plot(z); %绘制调制解调后的信号程序运行得到的信号源和解调信号的波形如图6.24所示。 6 MATLAB在数字图像处理中的应用在数字图像处理中的应用例1-10灰度倒置线性变换lily=imread(peppers.png);colormapimshow(lily)j=imadjust(lily,0 1,1 0,1.5);figuresubimage(j)例1-11图像增强中值滤波a=imread(eight.tif);b=imnoise(a,salt & pepper,0.02);subplot(231),imshow(a);title(源图像);subplot(232),imshow(b);title(噪声图像);k1=medfilt2(b);%3*3模板k2=medfilt2(b,5 5);%5*5模板k3=medfilt2(b,7,7);%7*7模板k4=medfilt2(b,9 9);%9*9模板subplot(233),imshow(k1);title(3*3);subplot(234),imshow(k2);title(5*5);subplot(235),imshow(k3);title(7*7);subplot(236),imshow(k4);title(9*9);1. 4 MATLAB安装与目录结构安装与目录结构MATLAB对对PC系统的要求系统的要求 安装安装MATLAB后,在安装目录下将包含如下后,在安装目录下将包含如下文件夹。文件夹。 续表续表1.5 MATLAB集成环境集成环境1.5.1 启动与退出启动与退出MATLAB集成环境集成环境 1MATLAB系统的启动系统的启动与一般的与一般的Windows程序一样,启动程序一样,启动MATLAB系统有系统有3种常见方法:种常见方法:(1)使用使用Windows“开始开始”菜单。菜单。(2)运行运行MATLAB系统启动程序系统启动程序matlab.exe。(3)利用快捷方式。利用快捷方式。2MATLAB系统的退出系统的退出 要退出要退出MATLAB系统,也有系统,也有3种常见方法:种常见方法:(1) 在在MATLAB主窗口主窗口File菜单中选择菜单中选择Exit MATLAB命令。命令。(2) 在在MATLAB命令窗口输入命令窗口输入Exit或或Quit命命令。令。(3) 单击单击MATLAB主窗口的主窗口的“关闭关闭”按钮。按钮。 启动启动MATLAB后,将进入后,将进入MATLAB 7.0集成环境。集成环境。MATLAB 7.0 集成环境包括集成环境包括MATLAB主窗口、命令窗主窗口、命令窗口口(Command Window)、历史命令窗口、历史命令窗口(Command History) 、当前工作目录窗口、当前工作目录窗口(Current Directory) 、工、工作空间窗口作空间窗口(Workspace) 、Start按钮。按钮。1.5.2 主窗口主窗口默认情况下菜单栏包括默认情况下菜单栏包括6个菜单项:个菜单项: File实现有关文件的操作;实现有关文件的操作; Edit用于命令窗口的编辑操作;用于命令窗口的编辑操作; Debug用于程序调试;用于程序调试; Desktop用于设置用于设置MATLAB集成环境的显示方式;集成环境的显示方式; Window用于关闭所有打开的窗口或选择活动窗口;用于关闭所有打开的窗口或选择活动窗口; Help用于提供帮助信息用于提供帮助信息 MATLAB的主要工作界的主要工作界面。除了嵌入一些子窗口外,面。除了嵌入一些子窗口外,还包括菜单栏和工具栏还包括菜单栏和工具栏工具栏共提供了工具栏共提供了10个命令按钮个命令按钮。这些命令按钮均有对这些命令按钮均有对应的菜单命令,但比菜单命令使用起来更快捷、方便。应的菜单命令,但比菜单命令使用起来更快捷、方便。1.5.3 命令窗口命令窗口 命令窗口是命令窗口是MATLAB的主要交互窗的主要交互窗口,用于输入命令并显口,用于输入命令并显示除图形以外的所有执示除图形以外的所有执行结果。行结果。MATLAB命令窗口中的命令窗口中的“”为命令提示符,表示为命令提示符,表示MATLAB正在处于准备状态。在命令提示符后键入正在处于准备状态。在命令提示符后键入命令并按下回车键后,命令并按下回车键后,MATLAB就会解释执行所输就会解释执行所输入的命令,并在命令后面给出计算结果入的命令,并在命令后面给出计算结果,并再次进并再次进入准备状态(所得结果将被保存在工作空间窗口入准备状态(所得结果将被保存在工作空间窗口中)。中)。 单击命令窗口右上角的单击命令窗口右上角的“ ”按钮,可以使命令窗按钮,可以使命令窗口脱离主窗口而成为一个独立的窗口。口脱离主窗口而成为一个独立的窗口。 通用命令是通用命令是MATLAB中经常使用的一组中经常使用的一组命令,这些命令可以用来管理目录、函数、命令,这些命令可以用来管理目录、函数、变量、工作空间、文件和窗口等。下面对变量、工作空间、文件和窗口等。下面对这些命令进行介绍。这些命令进行介绍。常用命令常用命令常用命令的功能常用命令的功能输入内容的编辑输入内容的编辑 在命令窗口中,在命令窗口中,MATLAB提供了控制光标位提供了控制光标位置和进行简单编辑的键盘按键,部分常用的键盘置和进行简单编辑的键盘按键,部分常用的键盘按键及其功能如下表所示。按键及其功能如下表所示。标点标点 在在MATLAB中,一些标点符号被赋予了特殊中,一些标点符号被赋予了特殊的功能,如下表所示。的功能,如下表所示。通过双击命令可进行历史命令的再运行。通过双击命令可进行历史命令的再运行。选中该窗口,单击鼠标右键,通过弹出菜单可以进选中该窗口,单击鼠标右键,通过弹出菜单可以进行删除或粘贴历史记录;可为选中的表达式或命令行删除或粘贴历史记录;可为选中的表达式或命令创建一个创建一个M文件;可为表达式或命令创建快捷按钮。文件;可为表达式或命令创建快捷按钮。 等操作。操作。1.5.4 历史命令窗口历史命令窗口 在默认设置下,历史在默认设置下,历史记录窗口中会自动保留自记录窗口中会自动保留自安装起所有用过的命令的安装起所有用过的命令的历史记录,并且还标明了历史记录,并且还标明了使用时间,从而方便用户使用时间,从而方便用户查询。查询。1.5.5 当前工作目录窗口和搜索路径当前工作目录窗口和搜索路径1当前工作目录窗口当前工作目录窗口 当前工作目录是指当前工作目录是指MATLAB运行文件时的工作目录,只运行文件时的工作目录,只有在当前目录或搜索路径下有在当前目录或搜索路径下的文件、函数可以被运行或的文件、函数可以被运行或调用。调用。 在该窗口中可以显示或改变当前目录,还可以显在该窗口中可以显示或改变当前目录,还可以显示当前目录下的文件并提供搜索功能。示当前目录下的文件并提供搜索功能。 将用户目录设置成当前目录也可使用将用户目录设置成当前目录也可使用cd命令。例命令。例如,将用户目录如,将用户目录c:mydir设置为当前目录,可在命令设置为当前目录,可在命令窗口输入命令:窗口输入命令:cd c:mydir2MATLAB的搜索路径的搜索路径 当用户在当用户在MATLAB命令窗口输入一条命令后,命令窗口输入一条命令后,MATLAB按照一定次序寻找相关的文件。基本的搜索按照一定次序寻找相关的文件。基本的搜索过程是:过程是: (1) 检查该命令是不是一个变量。检查该命令是不是一个变量。(2) 检查该命令是不是一个内部函数。检查该命令是不是一个内部函数。(3) 检查该命令是否当前目录下的检查该命令是否当前目录下的M文件。文件。(4) 检查该命令是否检查该命令是否MATLAB搜索路径中其他目录下搜索路径中其他目录下的的M文件文件。(1) 用用path命令设置搜索路径。例如,将用户目录命令设置搜索路径。例如,将用户目录c:mydir加到搜索路径下,可在命令窗口输入命令:加到搜索路径下,可在命令窗口输入命令:path(path,c:mydir) 用户可以将自己的工作目录列入用户可以将自己的工作目录列入MATLAB搜索搜索路径,从而将用户目录纳入路径,从而将用户目录纳入MATLAB系统统一管理。系统统一管理。设置搜索路径的方法有:设置搜索路径的方法有:(2) 用对话框设置搜索路径用对话框设置搜索路径 在在MATLAB的的File菜单中选菜单中选Set Path命令或在命令窗口命令或在命令窗口执行执行pathtool命令,将出现搜索路径设置对话框。通过命令,将出现搜索路径设置对话框。通过Add Folder或或Add with Subfolder命令按钮将指定路命令按钮将指定路径添加到搜索路径列表中。径添加到搜索路径列表中。在修改完搜索路径后,则需要保存搜索路径。在修改完搜索路径后,则需要保存搜索路径。1.5.6 工作空间窗口工作空间窗口 工作空间是工作空间是MATLAB用于存储各种变量和结果用于存储各种变量和结果的内存空间。在该窗口中显示工作空间中所有变量的内存空间。在该窗口中显示工作空间中所有变量的名称、大小、字节数和变量类型说明,可对变量的名称、大小、字节数和变量类型说明,可对变量进行观察、编辑、保存和删除进行观察、编辑、保存和删除1.5.7 start按钮按钮 单击该按钮会弹出一个菜单,选择其中的命令单击该按钮会弹出一个菜单,选择其中的命令可以执行可以执行MATLAB产品的各种工具,并且可以查阅产品的各种工具,并且可以查阅MATLAB包含的各种资源。包含的各种资源。 1.6 MATLAB帮助系统帮助系统命令窗口查询帮助系统命令窗口查询帮助系统联机帮助系统联机帮助系统联机演示系统联机演示系统 MATLAB为用户提供了非常完善的帮助系统。为用户提供了非常完善的帮助系统。下面分别介绍下面分别介绍MATLAB的三类帮助系统。的三类帮助系统。1命令窗口查询帮助系统命令窗口查询帮助系统常见的帮助命令常见的帮助命令2联机帮助系统联机帮助系统 用户可以通过下述方法进入用户可以通过下述方法进入MATLAB的联机的联机帮助系统。帮助系统。直接单击直接单击MATLAB主窗口中的主窗口中的“ ”按钮;按钮;选中选中Help菜单的前菜单的前4项中的任意一项;项中的任意一项;在命令窗口中执行在命令窗口中执行helpwin、helpdesk或或doc。3联机演示系统联机演示系统选择选择MATLAB主窗口菜单主窗口菜单【Help】|【Demos】选项;选项;在命令窗口输入在命令窗口输入demos;直接在帮助页面上选择直接在帮助页面上选择Demos页。页。可以通过以下方式打开联机演示统。可以通过以下方式打开联机演示统。演示例演示例1.3