ImageVerifierCode 换一换
格式:DOCX , 页数:26 ,大小:226.68KB ,
资源ID:8653867      下载积分:12 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/8653867.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(基于MATLAB的信号分析与处理汇总.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

基于MATLAB的信号分析与处理汇总.docx

1、基于MATLAB的信号分析与处理汇总基于MATLAB的信号分析与处理第一节 MATLAB快速入门一 MATLAB操作入门MATLAB是MATrix LABoratory (矩阵实验室)的缩写,是由美国MathWorks公司于20世纪80年代初推出的一套以矩阵计算为基础的、适合多学科、多种工作平台的功能强劲的大型软件MATLAB将数值计算、可视化和编程功能集成在非常便于使用的环境中,具有编程效率高、用户使用方便、扩充能力强、移植性好等特点经过MathWorks公司的不断完善,目前MATLAB已经发展成为国际上最优秀的高性能科学与工程计算软件之一1、启动(Windows操作平台) 双击桌面上MAT

2、LAB的快捷方式或程序里MATLAB选项即可启动MATLAB.2、MATLAB环境启动MATLAB后对话框如下图(图1),它大致包括以下几个部分:图11)菜单栏-单击即可打开相应的菜单;在MATLAB 6.5主窗口的菜单栏,共包含File、Edit、View、Web、Window和Help 6个菜单项。(1) File菜单项:File菜单项实现有关文件的操作。“New”命令下的“M-file”选项表示新建一个M文件,该命令将打开MATLAB的M文件编辑/调试器。通过M文件编辑/调试器,用户可以创建自己的M文件,也可以编辑已有的M文件并调试MATLAB程序。“Figure”选项表示新建一个图形窗

3、口。(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) 工具栏-使用它们能使操作更快捷;3)Command Window(命令窗口)-用来输入和显示计算结果,其中符号“”表示等待用户输入;在命令提

4、示符后键入命令并按下回车键后,MATLAB就会解释执行所输入的命令,并在命令后面给出计算结果。在命令窗口中实现管理功能的常用命令有:cd显示当前工作目录;dir 显示当前工作目录或指定目录下的文件;clc清除命令窗口中的所有内容;clf清除图形窗口;quit(exit)退出MATLAB;type test 在命令窗口中显示文件test.m的内容delete test 删除文件test.m;which test 显示test.m的目录;what显示当前目录或指定目录下的M、MAT、MEX文件4)Workspace(工作区窗口)-存储着命令窗口输入的命令和所有变量值;工作空间是MATLAB用于存储

5、各种变量和结果的内存空间。在该窗口中显示工作空间中所有变量的名称、大小、字节数和变量类型说明,可对变量进行观察、编辑、保存和删除。5)Current Directory(当前目录选择窗口)-显示当前路径.3、MATLAB的帮助系统MATLAB的帮助系统提供帮助命令、帮助窗口等帮助方法.(1)帮助命令help假如准确知道所要求助的主题词,或指令名称,那么使用help命令是获得在线帮助的最简单有效的途径. 例如要获得关于函数sin 使用说明的在线求助,可键入命令 help sin将显示 SIN Sine. SIN(X) is the sine of the elements of X. Overl

6、oaded methods help sym/sin.m(2)帮助窗口(图2)帮助窗口给出的信息按目录编排,比较系统,便于浏览与之相关的信息,其内容与帮助命令给出的一样,进入帮助窗口的方法有: 选取帮助菜单里的“MATLAB Help”或键入命令“helpwin”; 双击菜单条上的问号按钮.图2第二节 变量与函数一、变量变量是任何程序设计语言的基本要素之一,MATLAB语言当然也不例外与一般常规的程序设计语言不同的是,MATLAB语言并不要求对所使用的变量进行事先声明,也不需要指定变量类型,它会自动根据赋予变量的值或对变量进行的操作来确定变量的类型并为其分配内存空间在赋值过程中,如果变量已存在

7、,MATLAB将使用新值代替旧值,并以新的变量类型代替旧的变量类型MATLAB中变量的命名规则是:1、变量名区分大小写;2、变量名的长度不超过31位,第31个字符之后的字符将被忽略;3、变量名必须以字母开头,之后可以是任意字母、数字或下划线,变量名中不允许使用标点符号MATLAB中有一些预定义的变量,这些特殊的变量称为常量MATLAB语言中的常量常量名常量值常量名常量值i, j 虚数单位realmin最小可用正实数pi 圆周率realmax最大可用正实数eps计算机的最小浮点数inf正无穷大,如1/0NaNNot-a-Number,非数,特指0/0flops浮点运算数在MATLAB语言中,定义

8、变量时应避免与常量名相同,以免改变常量的值与其他程序设计语言相同,MATLAB语言中也存在变量作用域的问题在未特殊说明的情况下,MATLAB语言将所识别的一切变量视为局部变量,即仅在其调用的函数内有效若要定义全局变量,应对变量进行声明,即在该变量前加关键字global二、运算符号及标点符号运算符号:1、 算术运算符(表1)表1 数学表达式MATLAB运算符MATLAB表达式加a+b+a+b减a-b-a-b乘ab*a*b除ab/或a/b或ba幂a bab 2、 关系运算符(表2)表2数学关系MATLAB运算符数学关系MATLAB运算符小于小于或等于=等于= =不等于=3、 逻辑运算符(表3)表3

9、逻辑关系与或非MATLAB运算符|标点符号:MATLAB中标点符号的含义是:1、在命令窗口中输入一个MATLAB语句(语句的一般形式为:变量=表达式),如果语句后为逗号或无标点符号,则在命令窗口中显示该语句的计算结果;如果语句后为分号,MATLAB只进行计算,不在命令窗口中显示计算结果如果要查看计算结果,只需要在命令窗口中输入变量名按回车键或打开工作空间双击选中的变量即可2、在MATLAB的命令窗口中输入一个表达式或利用MATLAB进行编程时,如果表达式太长,可以用续行符号“”将其延续到下一行3、编写MATLAB程序时,通常利用符号“%”对程序或其中的语句进行注释三、函数MATLAB语言中最基

10、本最重要的成分是函数一个函数由函数名、输入变量和输出变量组成同一个函数,不同数目的输入变量和不同数目的输出变量,均代表不同的含义这不仅丰富了MATLAB的函数功能,而且大大减少了需要的磁盘空间,使得MATLAB编写的程序简单而且高效MATLAB的函数,按照用途,可以分为四类:标量函数、向量函数、矩阵函数和图形函数1、标量函数:标量函数作用于标量,一般用于简单的数值计算常用的标量函数有三角函数、指数对数函数、复数函数、截断函数和求余函数等三角函数:sin、cos、tan、cot、sec、csc、asin、acos、atan、acot、asec、acsc、sinh、cosh、tanh、asinh、

11、acosh、atanh;指数和对数函数:exp(以e为底的指数函数)、pow2(以2为底的指数函数)、sqrt(正的平方根函数)、realsqrt(正的平方根函数,若输入不是正数则报错)、nthroot(n次方根函数)、log(自然对数函数)、reallog(自然对数函数,若输入不是正数则报错)、log10(以10为底的对数函数)、log2(以2为底的对数函数);复数函数:abs(绝对值或复数模)、angle(复数的相角或幅角)、conj(复数共轭)、real(复数实部)、imag(复数虚部)、complex(用实部和虚部构造复数)、isreal(判断是否为实数矩阵)例如:c=complex(

12、a,b) 将根据的a、b构造复数c, 复数c的实部为a,复数c的虚部为ba=1 2;3 4;b=5 6;7 8 c=complex(a,b)截断和求余函数:mod(除法求余数,与除数同号)、rem(除法求余数,与被除数同号)、sign(符号函数)、fix(朝零方向取整函数)、floor(向负无穷方向取整函数)、ceil(向正无穷方向取整函数)、round(四舍五入函数)、rats(有理逼近函数)当一个标量函数作用于向量或矩阵时,是这个标量函数作用于这个向量或矩阵的每一个元素这个功能将大大方便我们处理成批的数据2、向量函数:MATLAB中有些函数只有当它们作用于行向量或列向量时才有意义,称为向量

13、函数常用的向量函数:max(最大值)、min(最小值)、sum(和)、length(长度)、mean(平均值)、median(中数)、prod(乘积)、sort(从小到大排列) 例如:x=0.6833,0.2126,0.8392,0.6288,0.1338,0.2071,0.6072,0.6299,0.3705,0.5751;a=max(x), b=min(x),c=mean(x),d=median(x)当一个向量函数作用于一个矩阵时会产生一个行向量,这个行向量的每个元素是向量函数作用于矩阵相应列向量的结果在MATLAB的统计工具箱中,我们还会学习到许多向量函数3、矩阵函数:MATLAB中有大

14、量的矩阵函数,从其作用来看,可以分为构造矩阵的函数和进行矩阵计算的函数4、基本二维图形函数 绘制二维图形时最常用的是plot函数。(1)plot(y):当只有一个参数时,plot以该参数的值为纵坐标,横坐标从1开始自动赋值向量【1 2 3 。】 ,向量的方向和长度与参数y相同。例如y=0 1 2 1 0;plot(y)(2) plot(x,y):这是最常用的形式。x为横坐标向量,y为纵坐标向量,例如t=1:0.2:10;y=sin(t);plot(t,y)(3)对数坐标曲线 三个函数:semilog semilogx loglog可以绘制二维对数坐标曲线,这几个函数的用法与plot函数相同。例

15、如t=0:0.1:2*pi;y=sin(t);semilogx(t,y);grid on绘制的横坐标为对数坐标,并用grid on命令为图形窗口添加了网络。第三节 MATLAB的数值计算功能强大的数值计算功能是MATLAB最具代表性的特点也正是由于MATLAB具有强大的数值计算功能,MathWorks公司才有能力把MATLAB延伸到不同专业、不同行业和不同部门的各个领域,使其成为世界上最优秀的、应用最为广泛的、最受用户喜爱的数学软件一、数组及其运算1、数组的建立(1). 直接输入数组建立数组最直接的方法是在命令窗口中直接输入数组数组元素需要用方括号“ ”括起来,元素之间可以用空格、逗号或分号分

16、隔需要注意的是,用空格和逗号分隔建立行数组,元素之间全部用分号分隔建立列数组(2). 利用冒号表达式建立数组, 此时不用方括号“ ”冒号表达式建立等差数组,它的基本形式为x=x1:step:x2, 其中x1 、step、x2 分别为给定数值,x1表示数组的首元素数值,step 表示步长,即从第二个元素开始,后一个元素与前一个元素之间的差值,x2表示数组尾元素数值限注意:x2并非尾元素数值,当x2-x1为step的整数倍时,x2才是尾元素数值例如:a=1:2:12 和a=1:2:13注:(a)如果step=1, 可以省略此项的输入,直接写成x=x1:x2(b)如果x10;如果x1 x2, 则需要

17、stepy=linspace(1,100), y=linspace(1,100,6)线性等分函数和冒号表达式都可以建立等分数组,前者是设定了数组的维数去建立等分数组,后者是通过设定步长建立维数随之确定的等分数组(4). 对数等分数组的建立MATLAB中提供了对数等分函数logspace生成等比数组,将此数组取以10为底的对数可生成等差数组调用格式如下:y=logspace(x1,x2) 生成50维对数等分数组,使得y(1)=10x1, y(50)=10x2;例如:y=logspace(5,8);y=logspace(x1,x2,n) 生成n维对数等分行数组,使得y(1)=10x1, y(n)=

18、10x2另外,数组还可以从矩阵中抽取,还可以把数组看成1*n阶或n*1阶的矩阵,以矩阵形式生成由于在MATLAB中矩阵比数组重要的多,此类函数将在矩阵及其运算中详细介绍2、数组元素的调用(1). 调用数组的一个元素:数组的元素可以通过下标调用,如x(i)表示数组x的第i个元素(2). 调用数组的部分元素:x(a:b:c)表示调用数组x的从第a个元素开始,以步长为b到第c个元素,b可以为负数,b缺省时为1(3). 直接使用元素序号调用数组元素:x(a b c d)表示调用数组x的第a、b、c、d个元素构成一个新数组x(a) x(b) x(c) x(d)3、数组的运算(1). 数组对标量的加、减、

19、乘、除、乘方是数组的每个元素对该标量进行相应的加、减、乘、除、乘方运算设a=a1 a2 an, c=标量,则ac=a1c a2c anc;a*c=c*a=a.*c=a1*c a2*c an*ca/c=a./c=a1/c a2/c an/cac=a.c=a1c a2c ancac=a.c=a1c a2c ancca=c.a=ca1 ca2 can(2). 两个相同维数的数组进行加、减、乘、除、幂运算,可按元素对元素的方式进行,不同大小或维数的数组不能进行运算设a=a1 a2 an,b=b1 b2 bn,则ab=a1b1 a2b2 anbn;a.*b=a1*b1 a2*b2 an*bna./b=a

20、1/b1 a2/b2 an/bna.b=a1b1 a2b2 anbna.b=a1b1 a2b2 anbn (3). 两个相同维数的数组的点积由dot函数实现,调用格式:dot(a,b)(4). 两个三维数组之间的向量积由cross函数实现,调用格式:cross(a,b)二、矩阵及其运算由于MATLAB的数值计算功能都是以(复)矩阵为基本单元进行的,因此,MATLAB中矩阵的运算可谓最全面、最强大本小节将对矩阵及其运算进行详细的阐述1、矩阵的建立(1). 直接输入小矩阵在键盘上直接输入矩阵是最方便、最常用和最好的建立数值矩阵的方法,尤其适合较小的简单矩阵用此方法建立矩阵时,应当注意以下几点:(a

21、). 输入矩阵以“ ”为其标识,即矩阵的元素应在“ ”的内部,此时MATLAB才将其识别为矩阵,如:a= 1 2 3; 1 1 1; 4, 5, 6(b). 矩阵的同行元素之间可由空格或逗号分隔,行与行之间用分号或回车符分隔;(c). 矩阵大小可不预先定义;(d). 若不想获得中间结果,在 后可用分号结束;(e). 无任何元素的空矩阵也合法;(f). 矩阵元素可以为运算表达式,如 b= sin(pi/3), cos(pi/4); log(9), tanh(6)(2). 当矩阵很大,不适合在命令窗口直接输入时,可以使用MATLAB提供的矩阵编辑器来完成矩阵的输入和修改在使用矩阵编辑器时,必须首先

22、在命令窗口中预先定义一个变量,这个变量可以是数或简单的矩阵例如在命令窗口中输入A=1,打开工作空间窗口,选中变量A双击,就可以打开矩阵A的编辑器,通过添加或修改原来的元素,从而建立起我们需要的矩阵(3)、通过M文件建立大矩阵当矩阵的规模比较大,直接输入法就显得笨拙,出现差错也不易修改为了解决此问题,可以通过M文件输入矩阵M文件是一种可以在MATLAB环境中运行的文本文件,分为命令文件和函数文件两种这里是用命令M文件来建立大型矩阵从菜单栏的File中选择New,再选择M-file命令,打开MATLAB Editor窗口,按格式把所要输入的矩阵写入一文本文件中,并将此文件以m为扩展名,即为M文件在

23、MATLAB命令窗口中输入此M文件名,运行后则把M文件中的大型矩阵输入到MATLAB的内存中例如:编制一名为example.m的M文件,内容如下:A=456 468 873 2 579 55; 21, 687,54 488 8 13; 65 4656 88 98 21 5在MATLAB 命令窗口输入:example % 将矩阵A调入到MATLAB的内存中说明:M文件要保存在MATLAB的搜索路径上,才能在MATLAB的命令窗口中调用三、多项式运算1、多项式的建立在MATLAB中多项式P(x)=a0xn+a1xn-1+an-1x+an由行向量P=a0,a1,an-1,an表示,这样就把多项式的问

24、题转化为向量的问题(1). 由系数向量建立多项式:在MATLAB中,由于多项式是以向量形式储存的,因此,建立多项式的最简单的方法是直接输入向量,MATLAB自动将向量元素按降幂顺序分配给多项式的各系数值,向量可以为行向量,也可以是列向量例: 输入多项式x3-5x2+6x-33p=1 -5 6 -33 ;(2) 特征多项式的建立:矩阵的特征多项式由函数poly实现A=1 2 3; 2 3 4; 3 4 5; p=poly(A)(3) 由多项式的根建立多项式:由给定的根建立相应的多项式也由函数poly实现root= -5 -3+4i -3-4i; p=poly(root)2、多项式的运算(1).

25、求多项式的值求多项式的值有两种形式,对应着两种算法:一种是以数组为计算单元,此时的计算函数是polyval, 调用格式为y=polyval(p,x),其中p为行向量形式的多项式,x为代入多项式的值,它可以是标量、向量、矩阵如果x是向量或者矩阵,该函数将对向量或者矩阵的每一个元素计算多项式的值 另一种是以方阵为计算单元,进行矩阵运算,求得矩阵多项式的值,此时的计算函数为polyvalm 这两种计算的差别是源于数组运算和矩阵运算的差别p=1 11 55 125;x=1 1;2 2;a=polyval(p,x)b=polyvalm(p,x)(2). 求多项式的根求多项式的根有两种方法,一种是直接调用

26、MATLAB的函数roots求多项式的所有根;另一种是通过先建立多项式的伴随矩阵再求其特征值的方法得到多项式的所有根例:用两种方法求解方程2x4-5x3+6x2-x+9=0的所有根p=2 -5 6 -1 9; roots(p)a=compan(p), eig(a)(3). 多项式的乘除法运算多项式的乘法由函数conv实现,多项式的除法由函数deconv来实现p1=2 -5 6 -1 9; p2=3 -90 -18 ;p=conv(p1,p2) 多项式乘法q,r=deconv(p,p2) 多项式除法(4). 多项式的微分函数polyder可以实现多项式的微分计算c=4 13 28 27 18;

27、q=polyder(c) q=polyder(a,b) %求a*b的导数q,d=polyder(a,b) %求ab的导数(5). 多项式的拟合多项式拟合是多项式运算的一个重要组成部分,在工程及科研工作中都得到了广泛的应用MATLAB提供了专用的拟合函数polyfit 其调用格式如下:polyfit(X,Y,n) 其中X,Y为拟合数据, n为拟合多项式的阶数p,s= polyfit(X,Y,n) 其中p为拟合多项式系数向量,s为误差估计数组例:用4次多项式对0,pi/2上的正弦函数进行最小二乘拟合x=0:pi/20:pi/2; y=sin(x); % 获得0,pi/2 上的数据点a=polyfi

28、t(x,y,4) % 进行多项式拟合第四节 MATLAB的图形功能在进行数值计算的过程中,为了从直观上认识计算结果,可以通过MATLAB的图形功能将计算结果图形化MATLAB是通过描点、连线来作图的,因此,在作二维图形和三维图形之前,必须先取得该图形上一系列点的坐标,然后利用MATLAB函数作图下面着重介绍二维图形的画法,对三维图形只作简单叙述一、二维图形二维图形的绘制是MATLAB图形功能的基础,也是在绝大多数数值计算中广泛应用的图形方式之一1、基本绘图命令(1). plot命令 绘制二维图形最常用的命令是plot对于不同形式的输入,该函数可以实现不同的功能(i). 当plot函数仅有一个输

29、入变量时:plot(X)如果X为实向量,则以X的索引坐标作为横坐标,以X的各元素作为纵坐标绘制图形如果X为复向量,则以X的实部作为横坐标,虚部作为纵坐标绘制图形如果X为实数矩阵,则绘制X的列向量对其坐标索引的图形如X=0 0.5 0.75 0.95 0.8 0.35; plot(X) %图4.1X=1+2i,2+4i,3+2i,5+i,6+4i;plot(x) %图4.2图4.1 图4.2(ii). 当plot函数有两个输入变量时:plot(X,Y)当X和Y为向量时,X和Y的维数必须相同,而且同时为行向量或同时为列向量此时以第一个向量的分量为横坐标,第二个向量的分量为纵坐标绘制图形,这是实际应用过程中最为常用的例如:x=0:0.01*pi:pi; y=sin(x).*cos(x); %注意:此处的.*表示两个向量对应元素的乘积plot(x,y)

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1