《MATLAB的基本使用》PPT课件.ppt

上传人:san****019 文档编号:17286977 上传时间:2020-11-17 格式:PPT 页数:42 大小:277.61KB
返回 下载 相关 举报
《MATLAB的基本使用》PPT课件.ppt_第1页
第1页 / 共42页
《MATLAB的基本使用》PPT课件.ppt_第2页
第2页 / 共42页
《MATLAB的基本使用》PPT课件.ppt_第3页
第3页 / 共42页
点击查看更多>>
资源描述
第 1篇 MATLAB 仿真分析基础 第 1章 MATLAB的基本使用 本章主要内容如下: 1 1 概述 1 2 MATLAB的工作环境 1 3 MATLAB命令窗口的主要操作 1 4 MATLAB的绘图功能 1. 5 练习 1.1 概述 MATLAB软件是由美国 MathWorks公司推出的用于数值计算和图 形处理的科学计算软件。 MATLAB是英文 MATrix LABoratory(矩阵实验室 )两个词的前三个 字母组合而成的,它是一种以矩阵运算为基础的交互式程序语言, 着重针对科学计算、工程计算和绘图的需求。 MATLAB编程运算与人进行科学计算的思路和表达方式完全一致, 区别于其它高级语言,具有用法简易、可灵活运用、程序结构强 又兼具延展性。 本课程定位于电子信息类高年级学生的导论性入门教程,围绕着 信号、系统以及处理等应用背景,有选择地对 MATLAB 6.x的使 用进行最基本的介绍。同时也涉及到信号处理工具箱中的一些内 容。 1.2 MATLAB的工作环境 MATLAB的工作环境就是一系列便于使用 MATLAB函 数和文件的工具。 基本的工具包括启动和退出 MATLAB,使用 MATLAB的桌面, 使用 MATLAB的函数,以及 MATLAB的在线帮助 (Help)。 其它的工具则有:工作空间、路径搜索、文件操作、数据输 入输出、编辑和调试 M文件以及改善 M文件的性能,资源控制 系统的利用等。 本节主要就 MATLAB桌面 (MATLAB 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后 具有组件平台 窗口,其中提 供了用户在机 器中已经安装 的所有 MATLAB工具 包、演示及帮 助信息的目录。 1.2.4 工作空间( Workplace) 工作空间窗口以列表形式显示了 MATLAB工作区中当 前所有变量的名称及其属性,属性中包括了变量的类 型、长度及其占用空间大小,如图 1-5所示。 工作空间由运行 MATLAB的程序或命令所生成的所有 变量和 MATLAB本身提供的常量构成。 MATLAB 6.x后才提供。 早 期版本是在命令窗口中键入 who查看变量名,或者键入 whos命令查看变量名、变 量大小和数据类型等内容。 1.2.5 当前目录 (Current Directory) 当前目录窗口中显示了 MATLAB当前工作目录下的所 有文件夹与文件,以便用户对当前目录下的文件进行 管理。 1.2.6 文件编辑 /调试 (Editor/debugger) MATLAB通过自带的 M文件编辑 /调试器来创建和编辑 M文件。 进入 MATLAB文件编辑器的方法如下: 命令窗口直接键入命令: edit, 打开编辑器编辑 Untitled.m文件。 使用命令窗口中的菜单或工具条上的快捷工具按钮。 M文件编辑 /调试器窗口由菜单栏、工具条和文本编辑 区组成, 是标准的 windows 风格 。 编辑 M文件可用其它任何文本编辑器进行。 调试器的工具见表 1-1, M文件的具体调试方法将在第 3章介绍。 1.2.7 MATLAB的帮助 两个重要的帮助命令 : 1 help命令 使用方法: help 帮助主题 “帮助主题”可以是命令名(函数名)、目录名或者部分路径名。 回车后,命令窗口中就会出现与帮助主题的“ help” 有关的内容。 注意:命令窗口显示的 MATLAB帮助信息中,是用大写字母来突 出函数名的,但在使用这些函数时,应该用小写字母。 2 demo命令 demo 命令对初学者非常有用,它提供了大量演示实例来说明 MATLAB的函数和工具箱的使用。 使用方法:命令窗口直接键入 demo即可出现图 1-8。 1.3 MATLAB命令窗口的主要操作 主要操作 : 运行函数和输入变量; 控制输入和输出; 执行程序,包括 M文件和外部程序; 保存一段日志; 打开或关闭其他应用窗口 ; 以及各应用窗口的参数选择。 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中,一维数字序列(信号)可以用 n 1或 1 n的矩阵表示,同样,一个 FIR滤波器的有限长度单 位冲激响应也可以这样表示,即有可以用行向量和列 向量两种方式表示。 在命令窗口的提示符“ ”下 ,如果要运行函数,只 需输入函数文件名,然后回车, MATLAB 就会显示运 行结果。 例: 求有限长度信号通过有限冲激 响应( FIR) 滤波器的输出 操作:调用 MATLAB的求卷积函数 步骤:在命令窗口输入 x=x1, x2, x3; h=h1, h2, h3; 然后再键入函数文件名 y=conv(h,x) 回车后, MATLAB就执行卷积和运算,输出 y是一长 度为 5点的行向量: conv是函数名; x , h 是函数的参数,分别 表示长度各为三点的 信号和 FIR滤波器的单 位冲激响应。 半角分号 “ ; ” 用于 避免在命令窗口中显 示程序运行的中间结 果。 m )m(x)mk(h)k(y 序列编号问题 在 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=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: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)*h , 即表示为如下矩阵: 3 2 1 3 23 123 12 1 5 4 3 2 1 h h h x00 xx0 xxx 0 xx 00 x y y y y y 式中 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提供了不同的命 令、变量输入方式和程序运行结果显示方式。 默认情况下 MATLAB区分变量名大小写。但在 help文档中, MATLAB使用了大写字母的函数 名进行说明,程序中使用时须改为小写字母。 MATLAB中默认向量的序号从 1开始。如这种 编号与应用不符,须创建一个标号向量以与应 用情况保持一致。 例:创建长度为 11点的 nx = -5:5; x=zeros(1,5),1,zeros(1,5); stem(nx,x) ( stem是绘制火柴杆图的绘图命令 ) )n( 要表达时间轴上左右对称的 11点长的 (n) ,应先定义 标号向量 nx! 符号的作用 半角逗号“ , ” 和半角分号“ ; ”都可以用来分隔 MATLAB的指令(函数)或变量。 MATLAB允许一行 内出现多条指令。 MATLAB的指令(函数)后使用半角分号“ ;” ,它的 作用是用来避免在命令窗口显示程序运行的中间结果 。 注:可以使用 shift+Enter(或 shift+Return),表示要输入多行 命令后再运行,待最后一行命令输入完毕,再回车, MATLAB才开始运行上述诸条命令。 对于较长的命令行,可用符号“ ” 来表示换行继续写 入 。 冒号 “ :”的作用 一个重要的操作符。主要作用有:用于生成默认间 隔为 1的等间隔向量;用于选出矩阵指定行、列及元 素; 用于循环语句。 具体使用形式如下: 1:10 表示一个 1到 10的整数行向量,这里默认步 进变量值为 1 ,即 1 2 3 4 5 6 7 8 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 。 其命令形 式如下: 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.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所示。 )n( 其它坐标设定命令 其它坐标设定命令还有: axis auto 重新起用自动坐标范围自动限制 axis square 使 X、 Y轴的坐标长度相同 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, 绘制完毕后用 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命 令,则关闭一个当前的图形窗口。 close all 命令:关闭所有窗口。 图形窗口及编辑工具 选择图形进行编辑 在图形窗口中添加文本 在图形窗口中添加箭头 在图形窗口中添加直线 对图形进行缩放操作 把图形旋转为三维图形 1.4.5 常用序列的图形显示举例 电 子信息类工程领域中经常会涉及到信号的表 示和信号的波形特征显示的问题,这里通过一 些常用序列的图形显示实例对 MATLAB绘图功 能作一综合应用。 对于这些常用的信号序列,可以自行编写成 MATLAB函数文件,放在规定目录,以供随时 使用。 1 单位样本序列 有两种方式可以实现这个函数: 一是前面介绍过的利用函数 zeros(1,N)产生 N个 零的行向量的做法 ; 另一是如下所述的利用逻辑关系 n=0的方法。 ,0,0,1,0,0.,0n,0 0n,1)n( 单位样本序列的 MATLAB实现 %函数 impseq( ) 用于构造单位样本序列 function x, n=impseq(n0,n1,n2) %Generates x(n) = delta(n-n0); n1=n =0 ,1,1,1,0,0,0n0 0n1)n(u 单位阶跃序列 的 MATLAB实现 函数 stepseq用于构造在 区间上的 有限长单位阶跃序列: function x,n =stepseq(n0,n1,n2) %Generates x(n) = u(n-n0);n1=n=0; 201 nnn 例 1-1:绘图实例(参见教材 p1719) 例 1-1:在给出的区间上产生并用两行两列分割方 式的四个子窗口显示下面四个序列: )4n()2n(2)n(x 5n5 )20n(u)10n(ue10)10n(u)n(un)n(x )10n(3.0 20n5 ,1,2,3,4,5,1,2,3,4,5,1,2,3,4,5,)n(x 9n10 1) 2) 其中 是均值为 0, 方差为 1的高斯随机序列 。 )n(w2.0)n04.0c o s ()n(x 50n0 )n(w 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,作为课后作业。
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!