《测试技术MATLAB入门及信号处理教学课件PPT》由会员分享,可在线阅读,更多相关《测试技术MATLAB入门及信号处理教学课件PPT(28页珍藏版)》请在金锄头文库上搜索。
1、MATLAB入门及信号处理 1 概概 述述 u1.1 MATLAB程序设计语言简介程序设计语言简介umatlab语言是由美国的Clever Moler博士于1980年开发的设计者的初衷是为解决“线性代数”课程的矩阵运算问题取名MATLAB即Matrix Laboratory 矩阵实验室的意思。uMATLAB已经不仅仅是一个“矩阵实验室”了,它集科学计算、信号处理、图象处理;声音处理于一身,并提供了丰富的Windows图形界面设计方法例、用一个简单命令求解线性系统 3x1+ x2 - x3 = 3.6 x1+2x2+4x3 = 2.1 -x1+4x2+5x3 = -1.4A=3 1 -1;1 2
2、 4;-1 4 5; b=3.6;2.1;-1.4;x=Abx =1.4818 -0.4606 0.3848对于线性系统有Ax=b1.2 MATLAB应用入门应用入门 1. MATLAB的安装与卸载的安装与卸载 2. MATLAB的启动与退出(的启动与退出( Ctrl+Q )1.3. MATLAB界面简介界面简介 MATLAB帮助帮助MATLAB Help 完善的HTML格式联机帮助系统,非常全面。使用方法: 1.从help菜单中选取; 2.在命令窗口中执行helpdesk或doc。PDF文档 用Adobe acrobat reader阅读。演示 demo2 基本数值运算基本数值运算 2.1
3、MATLAB内部特殊变量和常数内部特殊变量和常数 MATLAB内部有很多变量和常数, 用以表达特殊含义。常用的有: (1) 变量ans: 指示当前未定义变量名的答案。 (2) 常数eps:表示浮点相对精度, 其值是从1.0到下一个最大浮点数之间的差值。该变量值作为一些MATLAB函数计算的相对浮点精度,按IEEE标准, eps=2-52,近似为2.2204e-016。 (3) 常数Inf: 表示无穷大。 当输入或计算中有除以0时产生Inf。 (4) 虚数单位i,j: 表示复数虚部单位, 相当于 。 (5) NaN: 表示不定型值, 是由 0/0 运算产生的。 (6) 常数pi: 表示圆周率,
4、其值为3.141 592 653 589 7。 2.2 变量类型变量类型 1 变量命名规则变量命名规则 MATLAB中对变量的命名应遵循以下规则: (1) 变量名可以由字母、数字和下划线混合组成, 但必须以字母开头. (2)长度不超过 63 个字符(6.5 版本以前为 19 个) (3) 变量命名区分大小写。 2.3 矩阵及其运算矩阵及其运算 MATLAB具有强大的矩阵运算和数据处理功能, 对矩阵的处理必须遵从代数规则。 1 矩阵生成矩阵生成 1) 一般矩阵的生成一般矩阵的生成 对于一般的矩阵MATLAB的生成方法有多种。 最简单的方法是从键盘直接输入矩阵元素。直接输入矩阵元素时应注意: 各元
5、素之间用空格或逗号隔开,用分号或回车结束矩阵行,用中括号把矩阵所有元素括起来。 例例1 在工作空间产生一个33矩阵A可用MATLAB语言描述如下: A=1 2 3; 4 5 6; 7 8 9或 A=1 2 3 4 5 6 7 8 9运行结果: A= 1 2 3 4 5 6 7 8 9 2) 特殊矩阵的生成 对于特殊的矩阵可直接调用MATLAB的函数生成。 用函数zeros生成全0矩阵:格式 B=zeros(m,n)生成mn的全0阵。 用函数ones生成全1矩阵:格式 B=ones(m,n)生成mn的全1阵。 用函数eye生成单位阵:格式 B=eye(m,n)生成mn矩阵, 其中对角线元素全为1
6、,其他元素为0。 2 矩阵的运算矩阵的运算 矩阵的运算有基本运算和函数运算两种类型。基本运算包括矩阵的加、减、乘、除、乘方、求转置、求逆等,其主要特点是通过MATLAB提供的基本运算符、*、/()、等即可完成。函数运算主要是通过调用MATLAB系统内置的运算函数来求取矩阵的行列式(det(A)), 求秩(rank(A)), 求特征值和 特 征 向 量 ( V, D eig(A)) , 求 Jordan标 准 形(jordan(A))和矩阵分解等。需要用时可以参阅联机帮助和相关参考书。 3.2 绘图语句绘图语句 常用的MATLAB绘图语句有figure、plot、subplot、stem等, 图
7、形修饰语句有title、axis、text等。 1 figure figure有两种用法,只用一句figure命令,会创建一个新的图形窗口,并返回一个整数型的窗口编号。figure(n)表示将第n号图形窗口作为当前的图形窗口, 并将其显示在所有窗口的最前面; 如果该图形窗口不存在, 则新建一个窗口,并赋以编号n。 2 plot 线型绘图函数。用法plot(x,y,s)。参数x为横轴变量,y为纵轴变量,s控制图形的基本特征如颜色、线型等,可省略,常用方法如下所示。 x=0:0.1*pi:2*pi; %定义x向量figure(1); %创建图形窗口,编号1plot(x,sin(x),r*-); %
8、画图figure(2);plot(x,sin(x),bo:); 3 Stem 绘制离散序列图,常用格式stem(y)和stem(x,y)分别和相应的plot函数的绘图规则相同,只是用stem命令绘制的是离散序列图。 figure(3); stem(x,sin(x),b.:); 4 subplot subplot(m,n,i) 图形显示时分割窗口命令,把一个图形窗口分为m行,n列,mn个小窗口,并指定第i个小窗口为当前窗口。 subplot(2,2,1); %在第2个窗口中作图 plot(x,sin(x),rp); %画一正弦波, 红色 subplot(2,2,2); stem(x,sin(x)
9、,b.); 5 绘图修饰命令绘图修饰命令 在绘制图形时,我们通常需要为图形添加各种注记以增加可读性。 在plot语句后使用title(标题)可以在图形上方添加标题, 使用xlabel(标记)或ylabel(标记)为X轴或Y轴添加说明,使用text(X值、Y值、想加的标示)可以在图形中任意位置添加标示。 figureplot(x,sin(x); %画图title(正弦线); %给图形加标题xlabel(X); ylabel(SIN(X);text(4,0.5,注记);MATLAB 语句: x=0:0.1*pi:2*pi; %定义x向量figure(1); %创建一个新的图形窗口, 编号为1sub
10、plot(2,2,1); %将窗口划分为2行, 2列, 在第1个窗口中作图plot(x,sin(x); %画图title(正弦线); %给图形加标题subplot(2,2,2); %在第2个窗口中作图plot(x,sin(x),r); %画一正弦波, 红色xlabel(X); ylabel(SIN(X); %给y轴加说明subplot(2,2,3); %在第2个窗口中作图% plot(x,sin(x),-); %画一正弦波, 由%变成注释h=stem(x,sin(x), b.); %绘制蓝色离散序列图subplot(2,2,4); %在第2个窗口中作图plot(x,sin(x),r+); %画
11、一正弦波, 红色破折线 % k=stem(x,sin(x);text(4,0.5,注记); MATLAB 语句执行结果语句执行结果4 MATLAB函数函数4.1 函数及其调用方法函数及其调用方法 函数是MATLAB语言的重要组成部分。MATLAB提供的各种工具箱中的M文件几乎都是以函数的形式给出的。函数接收输入参数,返回输出参数,且只能访问该函数本身工作空间中的变量,从命令窗或其他函数中不能对其工作空间的变量进行访问。 4.2 常用数字信号处理函数常用数字信号处理函数 1 信号产生函数信号产生函数 1) 三角波或锯齿波发生函数: sawtooth() 语法格式:sawtooth(t,width
12、)。产生以2 为周期幅值范围在-1,+1之间的三角波或锯齿波。参数t为时间向量; width是0,1之间的数, 它决定函数在一个周期内上升部分和下降部分的比例。width=0.5产生三角波,width=1产生锯齿波,此时函数可简写为:sawtooth(t)。 t=0:0.001:1; x0=sawtooth(2*pi*5*t); %在0,1之间产生5个周期的锯齿波figureplot(t,x0) axis(0,1.1,-1.2,1.2) 2)方波发生函数:)方波发生函数: square() 语法格式:square(t)。产生以2为周期幅值范围在-1, +1之间的方波,参数t为时间向量。 3)s
13、inc发生函数:发生函数: sinc() 语法格式: sinc(t) 例例 6 信号产生举例 clear allt=0:0.001:1; x0=sawtooth(2*pi*t); %在0, 0.1之间产生1个周期的锯齿波figureplot(t,x1) x1=sawtooth(2*pi*5*t); %在0, 1之间产生5个周期的锯齿波figuresubplot(221) plot(t,x1) x2=sawtooth(2*pi*5*t,0.5); %在0,1之间产生5个周期的三角波subplot(222) plot(t,x2) x3=square(2*pi*5*t); %在0, 1之间产生5个周
14、期的方波 subplot(223)plot(t,x3)axis(0, 1,-1.2,1.2)t=-4:0.1:4;x4=sinc(t); %产生抽样函数subplot(224)plot(t,x4) (a) 锯齿波(b) 三角波(c) 方波(d) 抽样函数2常用窗的常用窗的MATLAB函数表示函数表示 表表 3 常用窗的常用窗的MATLAB函数表示函数表示 窗名称 MATLAB函数 窗名称 MATLAB函数 矩形窗 boxcar(N) 哈明窗 hamming(N) 三角窗 triang(N) 布莱克曼窗 blackman(N) 汉宁窗 hanning(N) 凯塞-贝尔窗 kaiser(N, BE
15、TA) 说明:除凯塞-贝尔窗外其他窗函数的使用方法相同。 函数的参数N是窗长度,调用结果为一个列向量。 例 产 生 50点 的 哈 明 窗 可 用 MATLAB语 言 表 示 为 : y=hamming(50);plot(y) 。 4 变换函数变换函数 1) 一维快速离散Fourier变换: fft() 语法格式:y=fft(x)。 y是计算信号x的快速离散傅里叶变换。 当x为矩阵时,计算x中每一列信号的离散傅里叶变换。当x的长度为2的幂时,用基2算法;否则,采用较慢的分裂基算法。 y=fft(x,n)。计算n点的FFT。当x的长度大于n时,截断x; 否则补零。 2) 一维快速离散Fourier逆变换: ifft() 语法格式:y=ifft(x)。y是计算信号x的快速离散傅里叶变换的逆变换。 y=ifft(x,n)。计算n点的快速离散傅里叶变换的逆变换