数字信号处理MATLAB简介.ppt_第1页
数字信号处理MATLAB简介.ppt_第2页
数字信号处理MATLAB简介.ppt_第3页
数字信号处理MATLAB简介.ppt_第4页
数字信号处理MATLAB简介.ppt_第5页
已阅读5页,还剩35页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

MATLAB简介,信息与通信工程学院,陈 喆,一、MATLAB历史,底层编程缺点 用C或汇编,可以了解算法,但易分散注意力,“只见树木,不见森林”。对矩阵计算还有数值稳定性问题(如Hilbert矩阵求逆)。“工欲善其事,必先利其器 ” MATLAB是什么? 矩阵实验室(MATrix LABoratoy)。MATLAB是由美国MathWorks公司(Moler开的公司)推出的用于数值计算和图形处理的。以矩阵运算为基础的交互式程序语言,专门针对科学、工程计算及绘图的科学计算系统环境。,一、MATLAB历史,MATLAB版本历史 1980年,美国的Cleve Moler博士研制了MATLAB,最初为线性代数课提供一种实验手段,在美国的New Mexico大学使用。后于1984年推出正式版。 19801992(MATLAB4.0)1993(微机版) 1994(MATLAB4.2)2001(MATLAB6.0) MATLAB2010a,二、MATLAB特点,可靠的数值计算、强大而简易图像与图形显示及处理、图形界面设计风格适合科技人员、智能化程度高、功能化程度高、提供与其它高级语言(如C语言和Fortran语言)的接口。MATLAB提供了一个人机交互的数学环境,可进行演草纸式的数学运算。 严格地讲,MATLAB不是一种计算机语言。因为其源程序不能编译成可执行文件(较新版本可以),也不能脱离MATLAB环境运行。但从功能上看,可认为是一种解释性语言(对输入命令翻译并执行,然后返回结果,与解释BASIC语言类似 )。,二、MATLAB特点,符号计算 与数值计算相对应的是符号计算(如Mathematica)。Mathematica的特点:解析解、高精度(任意)数值解、绘图、笔记本(可编写类菜单驱动程序)。,三、MATLAB特性,MATLAB的工作空间,命令窗口,变量区间,三、MATLAB特性,MATLAB的基本语句 变量名=表达式 一条语句可由分号、逗号或回车结束。以分号结束不显示结果;以回车结束显示全部返回结果(矩阵)。与C语言不同,可同时返回多个结果。,三、MATLAB特性,MATLAB的变量命名 变量名对大小写敏感(Sensitive) fruit、Fruit、FrUit及FRUIT中是不同的变量 每个变量名最多有19个字符 变量名的首字符必须是字母 标点符号不能出现在变量名中,三、MATLAB特性,MATLAB的保留字 i和j %基本复单位 eps %判零误差限,大小为2.220410-16 Inf %无穷大,数据大于1.797693110308为Inf NaN %不定式(Not a Number),由Inf/Inf、0/0等产生 ans %缺省变量名 pi %圆周率 以上保留字也可重新赋值,重启动MATLAB,保留字恢复原值。,三、MATLAB特性,MATLAB的数据精度及显示格式 缺省格式:35.8333;format 短格式:35.8333;format short 短格式方式:3.5833e+01;format short e 长格式:35.83333333333334;format long 长格式方式:3.583333333333334e+01;format long e 分数(有理)格式:215/6;format rat 银行格式:35.83;format bank MATLAB是以双精度执行所有运算。默认显示精度是小数点后保留4位,过大或过小数字自动采用科学计数法,但小数仍是4位。数据显示格式由format命令来控制;也可由Option菜单中的子菜单项Numeric Format(数字显示格式)设置。,三、MATLAB特性,MATLAB的基本数据结构是复数矩阵 A = 1 2; 3 4 + i* 5 6; 7 8和A = 1+5*i 2+6*i; 3+7*i 4+8*i的结果均为 注意:任何矩阵的元素内都不能有“空格”否则,会被MATLAB认为是两个元素而出错。,四、MATLAB支持的文件类型,*.m:MATLAB的源程序,由符合MATLAB语法的语句组成的文本文件。m文件中的语句,类似于DOS的批处理文件,在命令窗口键入m文件的文件名,可执行m文件中的语句。注意路径。 DOS可执行文件:包括DOS命令。如拷贝命令:!copy。 *.mat:标准MATLAB数据文件,可用save、load直接处理,是一种特殊bin文件。在窗口中可以很方便地将数据存成文件并可随时调用数据文件。如: save sy 将工作空间中变量存到sy.mat文件中。 load sy 将从sy.mat文件中调出来的变量放入工作空间。 save sy x 仅存入变量x到sy.mat文件中。 load sy x 将变量x从sy.mat文件中调出到当前工作空间中。 save sy x y z 存入变量x y z到sy.mat文件中。 *.mex:用C接口的可执行文件 *.met:图形文件,已逐渐不再使用。,五、MATLAB的基本管理命令,what 列出当前目录下所有的M文件 dir 列出当前目录下所有的文件 type test 在命令窗口下显示文件test delete test 删除文件test cd 显示当前目录 clf 清除屏幕当前的内容 quit 立即退出 MATLAB who 查看当前工作空间中的变量 whos 功能同who,但有细节 clear 清除所有变量,五、MATLAB的基本管理命令,clear x y 清除名为x y的变量 size 测试矩阵维数 length 测试向量维数 exist 测试变量是否存在 help 帮助 lookfor 查询关键字 size 测试矩阵维数 length 测试向量维数 exist 测试变量是否存在,六、MATLAB的矩阵运算,矩阵的基本运算 A+B A-B A*B A/B % AB为A*X=B的最小二乘解;A/B=BA-1 A-3.5 % 幂为小数对A的性质有要求 A %Hermit转置(共轭转置) C= Kron(A,B),六、MATLAB的矩阵运算,常用的关系和逻辑运算符 = = = %,六、MATLAB的矩阵运算,常用的关系和逻辑运算符 ; : %生成向量 %生成空矩阵 %行连接符 & | ,六、MATLAB的矩阵运算,矩阵的常用运算 det(A) trace(A) rank(A,tol):秩会随tol变化而变化。tol为判0误差限,可取eps。 norm(A,选项):矩阵的范数。选项可有: 无(默认):2范数|A|2。 1:1范数|A|1,行模和最大值。 2:2范数|A|2,即最大奇异值。 Inf或Inf:范数|A|,行模和最大值。 fro:F范数|A|F,六、MATLAB的矩阵运算,矩阵的常用运算 B=poly(A):B为行向量,各个分量为A的按降幂排列的特征多项式系数。 roots(B):B为矩阵A特征多项式系数向量。 V,D=eig(A):矩阵A的特征值与特征向量。AVVD,D为对角特征值阵。若返回值只有一个,则返回A的特征值。 Q=orth(A):矩阵A正交化。Q的各列正交,且张成的空间与A各列张成的空间相同。 Z=null(A):矩阵A的化零空间。Z的各列正交,且满足AZ0。若A可逆,则Z不存在,其值为空。,六、MATLAB的矩阵运算,矩阵的常用运算 L,U=lu(A):矩阵A的LU分解。也有L,U,P=LU(A),置换矩阵P满足PALU。 U,S,Vsvd(A):矩阵A的svd分解。 inv(A):矩阵A的逆。 pinv(A,tol):矩阵A的广义逆。tol为判0误差限,若省略,则默认为eps。,七、MATLAB的矩阵运算,面向矩阵元素的数学函数 sin(x) asin(x) cos(x) acos(x) exp(x) log(x) log10(x) sqrt(x) x.(n) abs(x) real(x) imag(x) conj(x) round(x) floor(x) ceil(x) sign(x) mod(x,m),七、MATLAB的矩阵运算,面向矩阵元素的数学函数 如sin(x)表示将矩阵的每一个元素均取正弦。 表示矩阵i行、j列处的元素可用A(i,j)。 表示矩阵i行用A(i,:)。表示矩阵j列用A(:,j)。 面向矩阵的数学函数:在上述面向矩阵元素的数学函数的函数名后加m。如expm。,八、特殊矩阵的实现,零矩阵: Azeros(m, n) 产生mn的0矩阵赋给A Azeros(sizes(B) 产生与B同大的0矩阵赋给A Azeros(n) 产生nn的0矩阵赋给A。 单位阵: Aeye(n) 产生nn的单位阵赋给A; Aeye(m, n) 产生mn大的单位阵赋给A; Aeye(sizes(B) 产生与B同大的单位阵赋给A,八、特殊矩阵的实现,对角阵: 若V为向量,则diag(V)将产生以V为对角线的方阵;若A为方阵,则diag(A)将提取A的对角元素,构成向量V。 随机元素阵:Arand(m, n) 产生mn矩阵,元素值在0, 1上均匀分布。改变随机数种子可用rand(seed, 新种子值);设置随机数种子为默认值可用rand(seed, 0)。用Arandn(m, n) 使元素值在0, 1上呈高斯分布。,九、MATLAB数据的输入、输出,MATLAB特有的键盘输入函数是input,具体格式为:变量名=input(提示信息,选项); MATLAB特有的显示器输出函数是disp,具体格式为 disp(变量名); 用disp显示矩阵时将不显示矩阵的名字,且格式更为紧凑,不留任何无意义的空行。,九、MATLAB数据的输入、输出,除了load、save两个函数外,MATLAB还提供类C语言的低级文件存取函数 fopen、fread、fscanf、fwrite、fprintf、fclose等 调用方法也与C语言类似。,十、MATLAB的绘图,二维图形绘制 基本命令: plot(x轴数据向量,y轴数据向量); 绘制多条曲线的命令为: plot(x向量, y向量, 选项1, x向量, y向量, 选项2, ) 选项主要有:-实线;:点线;-虚线;-.点划线;r红色;g绿色;b蓝色;y黄色;*线用星点;.线用点号;o线用小圆圈;x线用叉号;,十、MATLAB的绘图,二维图形绘制 其它相关命令: grid:加栅格; xlabel(x轴名):给x轴加名字; ylabel(y轴名):给y轴加名字; title(标题名):给图形加标题;,十、MATLAB的绘图,二维图形绘制 绘制极坐标曲线: polay(角度向量,幅度向量,选项); 绘制直方图: bar(x向量,y向量,选项);,十、MATLAB的绘图,二维图形绘制 绘制对数坐标图: semilogx(x向量,y向量,选项):只对x轴对数变换 semilogy(x向量,y向量,选项):只对y轴对数变换 loglog (x向量,y向量,选项):对x、y轴同时对数变换 产生对数等间距坐标向量: logspace(向量起点,向量终点,向量个数); 其中,向量个数的默认值是50。,十、MATLAB的绘图,三维图形绘制 基本命令与二维类似: plot(x轴数据向量, y轴数据向量, z轴数据向量, 选项) 绘制三维曲面图: mesh(x向量,y向量,z向量,C); C为颜色矩阵,表示在不同高度下的颜色范围。若省略,则默认Cz,即颜色正比于图形高度。,十、MATLAB的绘图,三维图形绘制 surf(x向量,y向量,z向量); surfc(x向量, y向量, z向量); %有等高线(contour) surfl(x向量, y向量, z向量); % surfl有阴影(shadow),十一、MATLAB的常用语句,向量的构造 : 键入 x=1: 4 显示为:X=1 2 3 4 键入 Z = 7: -1: 2 显示为: Z = 7 6 5 4 3 2 ,十一、MATLAB的常用语句,for语句 for 循环变量=表达式1:表达式3:表达式2 循环体; end 等价于C语言中的 for(循环变量=表达式1; 循环变量 = 表达式2; 循环变量+=表达式3) 循环体; ,十一、MATLAB的常用语句,while语句 while(条件式) 循环体; end,十一、MATLAB的常用语句,break语句 对循环语句可用break中止一级循环,十一、MATLAB的常用语句,if语句 if(条件式) 语句组1 else 语句组2 end,十一、MATLAB的常用语句,函数定义 function 返回变量列表 = 函数名(输入变量列表) 注释说明 函数体 应用方括号括起多个返回变量,输入变量用逗号分割;除输入、返回变量外,函数中变量均是局部变量,函数调用后自动被清除,要保留某变量,可用global命令将其设为全局变量;输入、返回变量的个数由MATLAB保留字nargin

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论