您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 经营企划 > MATLAB程序设计语言在信号处理中的应用
第6章MATLAB程序设计语言在信号处理中的应用第6章MATLAB程序设计语言在信号处理中的应用6.1概述6.2基本数值运算6.3基本语句6.4MATLAB函数6.5MATLAB在信号处理中的应用举例第6章MATLAB程序设计语言在信号处理中的应用6.1概述6.1.1MATLAB程序设计语言简介MATLAB,MatrixLaboratory的缩写,是由Mathworks公司开发的一套用于科学工程计算的可视化高性能语言,具有强大的矩阵运算能力。与大家常用的Fortran和C等高级语言相比,MATLAB的语法规则更简单,更贴近人的思维方式,被称之为“草稿纸式的语言”。截至目前,MATLAB已经发展到12.1版,适用于所有32位的Windows操作系统,按NTFS(NT文件系统)格式下完全安装约需850MB。MATLAB软件主要由主包、仿真系统和工具箱三大部分组成。第6章MATLAB程序设计语言在信号处理中的应用6.1.2MATLAB1.MATLAB的安装与卸载MATLAB软件在用户接口设计上具有较强的亲和力,其安装过程比较典型,直接运行光盘中的安装向导支撑程序SETUP.exe,按其提示一步步选择即可。MATLAB自身带有卸载程序,在其安装目录下有uninstall子目录,运行该目录下的uninstall.exe即可;也可以通过Windows系统的安装卸载程序进行卸载。第6章MATLAB程序设计语言在信号处理中的应用2.MATLAB的启动与退出MATLAB安装完成后,会自动在Windows桌面上生成一个快捷方式,它是指向安装目录下\bin\win32\matlab.exe的链接,双击它即可来到MATLAB集成环境的基本窗口,通常称之为命令窗口。MATLAB的退出与普通WIN32的程序一样,值得一提的是它有一个自身专有的快捷键Ctrl+Q。第6章MATLAB程序设计语言在信号处理中的应用3.MATLAB界面简介图6-1MATLAB基本界面——命令窗口标题栏菜单栏工具栏命令行区状态栏垂直和水平滚动条第6章MATLAB程序设计语言在信号处理中的应用1)菜单栏菜单栏中包括File、Edit、View、Web、Window和Help六个菜单项。这里着重介绍File项。File项是数据输入/输出的接口,包括10个子项,这里重点介绍其中的5个子项:New:新建文件项。有四个选择:MFile(.M,文本格式的MATLAB程序文件,可以直接通过文件名的方式在MATLAB环境下解释运行);Figure(图形);Model(仿真模型文件)和GUI(可视化界面文件)。第6章MATLAB程序设计语言在信号处理中的应用Open:打开所有MATLAB支持的文件格式,系统将自动识别并采用相应的程序对文件进行处理。例如,打开一个.m文件,系统将自动打开M文件编辑器对它进行编辑。ImportData...:导入用于MATLAB处理的数据函数,包括各种图像文件、声音文件和.mat文件。SaveWorkspaceAs...:将工作空间的变量以.mat(二进制)或ASCII文本的形式存入文件。SetPath...:设置工作路径。可以打开路径设置(SetPath)对话框(图6-2),将用户自己建立的目录加入MATLAB的目录系统中,以便所编制的文件能够在MATLAB环境中直接调用。第6章MATLAB程序设计语言在信号处理中的应用图6-2路径设置对话框第6章MATLAB程序设计语言在信号处理中的应用单击AddFolder...按钮可以将你的一个文件夹加入到系统路径中;AddwithSubfolders...允许把一个文件夹包括其所有的子文件夹加入到系统路径中。这两种操作均可以直观地在右侧的路径栏内看到结果。选中一个加入的文件夹,你可以利用MovetoTop(移至所有路径的最前面),MoveUp(上移一个),MoveDown(下移一个),MovetoBottom(移至所有路径的最后面)等四个按钮将改变文件在系统路径中的排列位置以利于对文件的搜索使用,也可以利用Remove按钮将其删除。对路径操作完毕后,按Save按钮予以保存;按Close按钮关闭本对话框;按Revert按钮取消所有未保存的改动;按Default按钮将还原到MATLAB安装时的路径设置;按Help按钮则启动帮助系统解答疑难。第6章MATLAB程序设计语言在信号处理中的应用2)对输入命令的解释MATLAB按以下顺序进行:①检查它是否是工作空间中的变量,是则显示变量内容。②检查它是否是嵌入函数,是则运行之。③检查它是否是子函数。④检查它是否是私有函数。⑤检查它是否是位于MATLAB搜索路径范围内的函数文件或脚本文件。请注意,如果有两个以上的方案与输入的命令相匹配,MATLAB将只执行第一个匹配。第6章MATLAB程序设计语言在信号处理中的应用4.MATLAB常用命令表6-1MATLAB常用命令第6章MATLAB程序设计语言在信号处理中的应用第6章MATLAB程序设计语言在信号处理中的应用6.2基本数值运算6.2.1MATLAB内部特殊变量和常数MATLAB内部有很多变量和常数,用以表达特殊含义。常(1)变量ans:指示当前未定义变量名的答案。(2)常数eps:表示浮点相对精度,其值是从1.0到下一个最大浮点数之间的差值。该变量值作为一些MATLAB函数计算的相对浮点精度,按IEEE标准,eps=2-52,近似为2.2204e-016。第6章MATLAB程序设计语言在信号处理中的应用(3)常数Inf:表示无穷大。当输入或计算中有除以0时产生Inf。(4)虚数单位i,j:表示复数虚部单位,相当于。(5)NaN:表示不定型值,是由0/0运算产生的。(6)常数pi:表示圆周率π,其值为3.1415926535897…。1第6章MATLAB程序设计语言在信号处理中的应用6.2.21.变量命名规则MATLAB中对变量的命名应遵循以下规则:(1)变量名可以由字母、数字和下划线混合组成,但必须以字母开头。(2)字符长度不能大于31。(3)变量命名区分大小写。第6章MATLAB程序设计语言在信号处理中的应用2.局部变量和全局变量局部变量是指那些每个函数体内自己定义的,不能从其他函数和MATLAB工作空间访问的变量。全局变量是指用关键字“global”声明的变量。全局变量名应尽量大写,并能反映它本身的含义。如果需要在工作空间和几个函数中都能访问一个全局变量,必须在工作空间和这几个函数中都声明该变量是全局的。第6章MATLAB程序设计语言在信号处理中的应用6.2.3矩阵及其运算MATLAB具有强大的矩阵运算和数据处理功能,对矩阵的处理必须遵从代数规则。1.矩阵生成1)一般矩阵的生成对于一般的矩阵MATLAB的生成方法有多种。最简单的方法是从键盘直接输入矩阵元素。直接输入矩阵元素时应注意:各元素之间用空格或逗号隔开,用分号或回车结束矩阵行,用中括号把矩阵所有元素括起来。第6章MATLAB程序设计语言在信号处理中的应用例6-1在工作空间产生一个3×3矩阵A可用MATLAB语言描述如下:A=[123;456;789]或A=[123456789]A=123456789第6章MATLAB程序设计语言在信号处理中的应用2)对于特殊的矩阵可直接调用MATLAB的函数生成。用函数zeros生成全0矩阵:格式B=zeros(m,n)生成m×n的全0阵。用函数ones生成全1矩阵:格式B=ones(m,n)生成m×n的全1阵。用函数eye生成单位阵:格式B=eye(m,n)生成m×n矩阵,其中对角线元素全为1,其他元素为0。第6章MATLAB程序设计语言在信号处理中的应用2.矩阵的运算矩阵的运算有基本运算和函数运算两种类型。基本运算包括矩阵的加、减、乘、除、乘方、求转置、求逆等,其主要特点是通过MATLAB提供的基本运算符+、-、*、/(\)、^等即可完成。函数运算主要是通过调用MATLAB系统内置的运算函数来求取矩阵的行列式(det(A)),求秩(rank(A)),求特征值和特征向量([V,D]=eig(A)),求Jordan标准形(jordan(A))和矩阵分解等。需要用时可以参阅联机帮助和相关参考书。第6章MATLAB程序设计语言在信号处理中的应用例6-2矩阵的基本运算。A=[1,2,3;4,5,6];B=[6,5,4;3,2,1];C=A+B%计算两个矩阵的和D=B′%计算矩阵B的转置E=A*D%做矩阵乘法,%E应该是2阶方阵F=det(E)%求EG=E^(-1)%求E的逆第6章MATLAB程序设计语言在信号处理中的应用输出结果:C=777777D=635241E=28107328F=54G=0.5185-0.1852-1.35190.5185第6章MATLAB程序设计语言在信号处理中的应用6.3基本语句6.3.1程序控制语句1.循环语句MATLAB的循环语句包括for循环和while循环两种类型。1)for语法格式:for循环变量=起始值:步长:end第6章MATLAB程序设计语言在信号处理中的应用起始值和终止值为一整形数,步长可以为整数或小数,省略步长时,默认步长为1。执行for循环时,判定循环变量的值是否大于(步长为负时则判定是否小于)终止值,不大于(步长为负时则小于)则执行循环体,执行完毕后加上步长,大于(步长为负时则小于)终止值后退出循环。第6章MATLAB程序设计语言在信号处理中的应用例6-3给矩阵A、B赋值。MATLAB语句及运行结果如下:k=5;a=zeros(k,k)%form=1∶kforn=1∶ka(m,n)=1/(m+n-1);endendfori=m∶-1∶1b(i)=i;end第6章MATLAB程序设计语言在信号处理中的应用运行结果:a=1.00000.50000.33330.25000.20000.50000.33330.25000.20000.16670.33330.25000.20000.16670.14290.25000.20000.16670.14290.12500.20000.16670.14290.12500.1111b=12345第6章MATLAB程序设计语言在信号处理中的应用2)while语法格式:whileend其执行方式为:若表达式为真(运算值非0),则执行循环体;若表达式为假(运算结果为0),则退出循环体,执行end后的语句。第6章MATLAB程序设计语言在信号处理中的应用例6-4a=3;whileaa=a-1end输出:a=2a=1a=0第6章MATLAB程序设计语言在信号处理中的应用2.条件转移语句有if和switch两种。1)ifMATLAB中if语句的用法与其他高级语言相类似,其基本语法格式有以下几种:格式一:ifend第6章MATLAB程序设计语言在信号处理中的应用格式二:if执行语句1else执行语句2end格式三:if逻辑表达式1执行语句1elseif逻辑表达式2执行语句2end第6章MATLAB程序设计语言在信号处理中的应用2)switchswitch语句的用法与其他高级语言相类似,其基本语法格式为:switch表达式(标量或字符串)case值1语句1case值2语句2…otherwise语句nend第6章MATLAB程序设计语言在信号处理中的应用6.3.2常用的MATLAB绘图语句有figure、plot、subplot、stem等,图形修饰语句有title、axis、text等。1.figurefigure有两种用法,只用一句figure命令,会创建一个新的图形窗口,并返回一个整数型的窗口编号。figure(n)表示将第n号图形窗口作为当前的图形窗口,并将其显示在所有窗口的最前面;如果该图形窗口不存在,则新建一个窗口,并赋以编号n。第6章MATLAB程序设计语言在信号处理中的应用2.plot线型绘图函数。用法为plot(x,y,′s′)。参数x为横轴变量,y为纵轴变量,s用以控制图形的基本特征如颜色、粗细等,通常可以省略,常用方法如表6-2所示。表6-2常用绘
本文标题:MATLAB程序设计语言在信号处理中的应用
链接地址:https://www.777doc.com/doc-3447475 .html