第1章-MATLAB的基本使用.ppt

上传人:本田雅阁 文档编号:2908397 上传时间:2019-06-04 格式:PPT 页数:42 大小:277.52KB
返回 下载 相关 举报
第1章-MATLAB的基本使用.ppt_第1页
第1页 / 共42页
第1章-MATLAB的基本使用.ppt_第2页
第2页 / 共42页
第1章-MATLAB的基本使用.ppt_第3页
第3页 / 共42页
第1章-MATLAB的基本使用.ppt_第4页
第4页 / 共42页
第1章-MATLAB的基本使用.ppt_第5页
第5页 / 共42页
点击查看更多>>
资源描述

《第1章-MATLAB的基本使用.ppt》由会员分享,可在线阅读,更多相关《第1章-MATLAB的基本使用.ppt(42页珍藏版)》请在三一文库上搜索。

1、第1篇,MATLAB 仿真分析基础,第1章 MATLAB的基本使用,本章主要内容如下: 11 概述 12 MATLAB的工作环境 13 MATLAB命令窗口的主要操作 14 MATLAB的绘图功能 1. 5 练习,1.1 概述,MATLAB软件是由美国MathWorks公司推出的用于数值计算和图形处理的科学计算软件。 MATLAB是英文MATrix LABoratory(矩阵实验室)两个词的前三个字母组合而成的,它是一种以矩阵运算为基础的交互式程序语言,着重针对科学计算、工程计算和绘图的需求。 MATLAB编程运算与人进行科学计算的思路和表达方式完全一致,区别于其它高级语言,具有用法简易、可灵

2、活运用、程序结构强又兼具延展性。 本课程定位于电子信息类高年级学生的导论性入门教程,围绕着信号、系统以及处理等应用背景,有选择地对MATLAB 6.x的使用进行最基本的介绍。同时也涉及到信号处理工具箱中的一些内容。,1.2 MATLAB的工作环境,MATLAB的工作环境就是一系列便于使用MATLAB函数和文件的工具。 基本的工具包括启动和退出MATLAB,使用MATLAB的桌面,使用MATLAB的函数,以及MATLAB的在线帮助(Help)。 其它的工具则有:工作空间、路径搜索、文件操作、数据输入输出、编辑和调试M文件以及改善M文件的性能,资源控制系统的利用等。 本节主要就MATLAB桌面(M

3、ATLAB Desktop)中的各应用窗口的主要功能分别作一简单介绍。,MATLAB桌面(MATLAB Desktop),1.2.1 命令窗口(Command Window),在命令窗口内执行的MATLAB主要操作有: 运行函数和输入变量;控制输入和输出;执行程序,包括M文件和外部程序;保存一段日志;打开或关闭其他应用窗口,以及各应用窗口的参数选择。,命令窗口中可直接运行MATLAB 函数,而这些函数往往又和MATLAB命令直接联系。,1.2.2 历史命令(Command History),1.2.3 组件平台(Launch Pad),MATLAB 6.x后具有组件平台窗口,其中提供了用户在机

4、器中已经安装的所有MATLAB工具包、演示及帮助信息的目录。,1.2.4 工作空间(Workplace),工作空间窗口以列表形式显示了MATLAB工作区中当前所有变量的名称及其属性,属性中包括了变量的类型、长度及其占用空间大小,如图1-5所示。 工作空间由运行MATLAB的程序或命令所生成的所有变量和MATLAB本身提供的常量构成。 MATLAB 6.x后才提供。早期版本是在命令窗口中键入who查看变量名,或者键入whos命令查看变量名、变量大小和数据类型等内容。,1.2.5 当前目录(Current Directory),当前目录窗口中显示了MATLAB当前工作目录下的所有文件夹与文件,以便

5、用户对当前目录下的文件进行管理。,1.2.6 文件编辑/调试(Editor/debugger),MATLAB通过自带的M文件编辑/调试器来创建和编辑M文件。 进入MATLAB文件编辑器的方法如下: 命令窗口直接键入命令:edit, 打开编辑器编辑Untitled.m文件。 使用命令窗口中的菜单或工具条上的快捷工具按钮。 M文件编辑/调试器窗口由菜单栏、工具条和文本编辑区组成,是标准的windows 风格。 编辑M文件可用其它任何文本编辑器进行。 调试器的工具见表1-1, M文件的具体调试方法将在第3章介绍。,1.2.7 MATLAB的帮助,两个重要的帮助命令: 1help命令 使用方法:hel

6、p 帮助主题 “帮助主题”可以是命令名(函数名)、目录名或者部分路径名。回车后,命令窗口中就会出现与帮助主题的“help” 有关的内容。 注意:命令窗口显示的MATLAB帮助信息中,是用大写字母来突出函数名的,但在使用这些函数时,应该用小写字母。 2demo命令 demo 命令对初学者非常有用,它提供了大量演示实例来说明MATLAB的函数和工具箱的使用。 使用方法:命令窗口直接键入demo即可出现图1-8。,1.3 MATLAB命令窗口的主要操作,主要操作: 运行函数和输入变量; 控制输入和输出; 执行程序,包括M文件和外部程序; 保存一段日志; 打开或关闭其他应用窗口; 以及各应用窗口的参数

7、选择。,1.3.1 运行函数和键入变量,在命令窗口的提示符“”下 ,可以直接输入变量。 例如要创建一个3 3矩阵,只须在命令窗口中输入: A = 1, 2, 3; 4, 5, 6; 7, 8, 10 其中,A为变量名;中括号( )为矩阵输入符;分号(;)为行分隔符;逗号(,)或空格为元素分隔符。 回车后,命令窗口出现: A = 1 2 3 4 5 6 7 8 10,1.3.1 运行函数和键入变量(续),MATLAB的操作对象均被视为矩阵,因此非常适合于信号与系统的表示。 MATLAB中,一维数字序列(信号)可以用n1或1n的矩阵表示,同样,一个FIR滤波器的有限长度单位冲激响应也可以这样表示,

8、即有可以用行向量和列向量两种方式表示。 在命令窗口的提示符“”下 ,如果要运行函数,只需输入函数文件名,然后回车, MATLAB 就会显示运行结果。,例:求有限长度信号通过有限冲激 响应(FIR)滤波器的输出,操作:调用MATLAB的求卷积函数 步骤:在命令窗口输入 x=x1,x2,x3; h=h1,h2,h3; 然后再键入函数文件名 y=conv(h,x) 回车后,MATLAB就执行卷积和运算,输出y是一长度为5点的行向量:,conv是函数名;x , h 是函数的参数,分别表示长度各为三点的信号和FIR滤波器的单位冲激响应。,半角分号“ ;”用于避免在命令窗口中显示程序运行的中间结果。,序列

9、编号问题,在MATLAB中,所有向量默认为从1开始编号。如果这些编号与实际应用不能对应,则需创建另外一个标号向量以正确地与序列编号保持一致。 MATLAB提供的conv函数要求参与卷积的序列的起点必须一致。如果输入的x,h序列有任意的起始位置,则不能直接使用conv函数。 这种情况下,需要定义一个适合y序列的标号向量,来确定y=conv(h,x)的起始点和结束点。并在conv函数基础上编写一个函数。 具体做法见下页。,序列编号问题(续),具体做法如下: 对于有限长序列x(n) 和 h(n),设 x(n):nxbnnxe , h(n):nhb nnhe 则y(n) 的起始点和结束点分别为nyb=

10、nxb+nhb和nye=nxe+nhe 因此,需要定义y(n)序列的标号向量:ny=nyb:nye 编写conv_m()函数完成上述两个任意位置的有限长序列的卷积。,conv_m函数(程序),function y,ny=conv_m(x,nx,h,nh) %Modified convolution result %y,ny=conv_m(x,nx,h,nh) %y,ny=convolution result %x,nx=first signal %h,nh=second signal nyb=nx(1)+nh(1); nye=nx(length(x)+nh(length(h); ny=nyb:

11、nye; y=conv(x,h);,卷积矩阵convmtx函数,卷积矩阵的格式为convmtx(C ,N),用于生成长度为N的行向量C的卷积矩阵。 利用这一函数,信号C与系统单位冲激响应H等长时的系统输出可表示为 convmtx(C,N)*H 注意:这里H是一个列向量,如果以行向量形式给出,上式中的H应取转置。 所得结果也是一个长度为N的列向量,且H和C的位置可以互换。 若C,H等长,有 convmtx(C,N)*H = (conv(C,H) ,卷积矩阵的应用举例,前面已经提到的系统h=h1 h2 h3和信号x=x1 x2 x3,信号x通过系统h后的输出可表示为 y1=convmtx(x,3)

12、*h , 即表示为如下矩阵:,式中y1就是前面例中h和x卷积所得y的转置。,关于卷积矩阵的进一步说明,另一等价形式 H *(convmtx(C,N) = conv(C,H) 在x,h具有相同的长度时,信号x通过系统h后输出的有两种等价表示: (conv(x,h) convmtx(x,N)*h或convmtx(h,N)*x 在某些应用中,如在求解横向线性均衡器的最小MSE解时,使用卷积矩阵更为方便。第2章讨论线性方程组的最小二乘解时将会给出这方面的一个例子。,1.3.2 控制输入输出的方式,命令窗口是用户输入命令的空间,也是查看程序运行结果的窗口。MATLAB提供了不同的命令、变量输入方式和程序

13、运行结果显示方式。 默认情况下MATLAB区分变量名大小写。但在help文档中,MATLAB使用了大写字母的函数名进行说明,程序中使用时须改为小写字母。 MATLAB中默认向量的序号从1开始。如这种编号与应用不符,须创建一个标号向量以与应用情况保持一致。,例:创建长度为11点的, nx = -5:5; x=zeros(1,5),1,zeros(1,5); stem(nx,x) (stem是绘制火柴杆图的绘图命令),要表达时间轴上左右对称的 11点长的(n) ,应先定义 标号向量nx!,符号的作用,半角逗号“ , ” 和半角分号“; ”都可以用来分隔MATLAB的指令(函数)或变量。 MATLA

14、B允许一行内出现多条指令。 MATLAB的指令(函数)后使用半角分号“;” ,它的作用是用来避免在命令窗口显示程序运行的中间结果 。 注:可以使用shift+Enter(或shift+Return),表示要输入多行命令后再运行,待最后一行命令输入完毕,再回车,MATLAB才开始运行上述诸条命令。 对于较长的命令行,可用符号“”来表示换行继续写入 。,冒号 “:”的作用,一个重要的操作符。主要作用有:用于生成默认间隔为1的等间隔向量;用于选出矩阵指定行、列及元素; 用于循环语句。具体使用形式如下: 1:10 表示一个1到10的整数行向量,这里默认步进变量值为1 ,即1 2 3 4 5 6 7 8

15、 9 10。 100:-7:50 表示从100递减到50,递减变量值7 。 0:pi/4:pi 表示一个初值为0终值为,步进变量为/4 的行向量 。 A(1:k,j) 表示矩阵A 中的第j列中前k个元素。 sum(A(1:4,4) 表示计算矩阵A中第4列前4行元素值的总和。 所有元素的总和,则可简单表达为: sum(A(:)。,1.4 MATLAB的绘图功能,MATLAB 的绘图功能很强,这是MATLAB独有的优于其他语言的特色。它可选择多种类型的绘图坐标,可以对图形加标号、加标题、或画上网状标线。,1.4.1 基本的绘图命令,MATLAB中最基本的二维绘图命令为plot 。其命令形式如下:

16、plot(y) 用于画出数组y的二维图形。 plot(x,y) 画出函数y对x曲线。 plot(x,y1,x,y2,x,y3) 用于同时画出函数y1、y2、y3对x的曲线。 plot(x,y,color_style_marker),画出用户指定颜色、线形、标志的曲线。 注:参数选项 color_style_marker 的三个参数不一定都要齐全,以下命令都是合法的 : plot(x,y,ks) 或plot(x,y,r:+),stem命令,stem命令常用于绘出直角坐标系中的离散信号,俗称为“火柴杆”图。使用形式基本和plot相同。 例如:stem(y) stem(x,y) 都是合法的命令。,1

17、.4.2 坐标设定命令,绘图时,MATLAB总是自动会把X、Y轴的范围设定得比图形的最大值还要大一些,但用户可以用axis命令设定X、Y轴的范围,用法为: axis(xmin xmax ymin ymax) 例如要对前面的 图形的纵坐标进行调整,则可以在命令窗口键入 nx = -5:5; x=zeros(1,5),1,zeros(1,5); stem(nx,x) 之后,再键入 axis(5 5 0 1.2) 则y轴的最大值已确定为1.2,如图1-10所示。,其它坐标设定命令,其它坐标设定命令还有: axis auto 重新起用自动坐标范围自动限制 axis square 使X、Y轴的坐标长度相

18、同 axis equal 使X、Y轴的范围坐标刻度相同 axis auto normal 返回默认的自动标度 axis on 坐标显示命令,缺省状态是显示坐标 axis off 坐标隐藏命令,1.4.3 基本的图形编辑和控制命令,1. xlabel,ylabel,title等 xlabel,ylabel命令: 标注图形X、Y轴的名称 title 命令 :给当前图形加注名称 text函数命令:将一个文本标注放在图形中指定的坐标位置 gtext函数命令:用鼠标将一个文本标注拖放至图形中指定位置 2. hold on/hold off 要在前一张图上同时显示后面产生的图形时,使用命令hold on,

19、 绘制完毕后用hold off 命令关闭。 3. subplot 图形窗口的分割命令subplot(m,n,p)把窗口分成m行n列个子窗口。 4. grid on/ grid off grid 或grid on 坐标用网格显示 grid off 关闭坐标的网格显示,1.4.4 图形编辑窗口,MATLAB中,图形自动显示于图形窗口中。 figure命令:用于建立一个新的图形窗口,多次执行figure命令将产生多个图形窗口。 figure(n)命令:用于创建或打开序号为n的图形窗口。如图1-11所示,使用了figure(3)命令。 close命令:关闭图形窗口,每执行一次close命令,则关闭一个

20、当前的图形窗口。 close all 命令:关闭所有窗口。,图形窗口及编辑工具,选择图形进行编辑,在图形窗口中添加文本,在图形窗口中添加箭头,在图形窗口中添加直线,对图形进行缩放操作,把图形旋转为三维图形,1.4.5 常用序列的图形显示举例,电子信息类工程领域中经常会涉及到信号的表示和信号的波形特征显示的问题,这里通过一些常用序列的图形显示实例对MATLAB绘图功能作一综合应用。 对于这些常用的信号序列,可以自行编写成MATLAB函数文件,放在规定目录,以供随时使用。,1单位样本序列,有两种方式可以实现这个函数: 一是前面介绍过的利用函数zeros(1,N)产生N个零的行向量的做法 ; 另一是

21、如下所述的利用逻辑关系n=0的方法。,单位样本序列的MATLAB实现,%函数impseq()用于构造单位样本序列 function x, n=impseq(n0,n1,n2) %Generates x(n) = delta(n-n0); n1=n=n2 %- %x,n = impseq(n0,n1,n2) % n=n1:n2; x= (n-n0)= =0;,2. 单位阶跃序列,也有两种方式实现这个函数: 利用函数ones(1,N)产生N个1的行向量 利用逻辑关系n =0,单位阶跃序列的MATLAB实现,函数stepseq用于构造在 区间上的有限长单位阶跃序列: function x,n =st

22、epseq(n0,n1,n2) %Generates x(n) = u(n-n0);n1=0;,例1-1:绘图实例(参见教材p1719),例1-1:在给出的区间上产生并用两行两列分割方式的四个子窗口显示下面四个序列:,1),2),其中 是均值为0,方差为1的高斯随机序列。,3),4),例1-1中的四个序列(信号)波形,1.5 练习,1 命令窗口中,键入:demo,出现MATLAB的demo演示窗口,然后选择:MATLAB下的Desktop Environment,选取其中的Desktop overview等示例进行MATLAB的桌面系统学习。 2 在命令窗口中,键入:helpwin,出现MATLAB的帮助窗口,选择:“matlabgeneral - General purpose commands.”,了解MATLAB的工作环境及其相关命令和函数。 教材中练习3-5,作为课后作业。,

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

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1