MATLAB及其操作简述.doc_第1页
MATLAB及其操作简述.doc_第2页
MATLAB及其操作简述.doc_第3页
MATLAB及其操作简述.doc_第4页
MATLAB及其操作简述.doc_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

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

文档简介

第一章 MATLAB及其操作简述 1.1 MATLAB简介 MATLAB是由美国Math Works公司推出的软件产品。MATLAB是“Matric Laboratory”的缩写,意及“矩阵实验室”。MATLAB是一完整的并可扩展的计算机环境,是一种进行科学和工程计算的交互式程序语言。它的基本数据单元是不需要指定维数的矩阵,它可直接用于表达数学的算式和技术概念,而普通的高级语言只能对一个个具体的数据单元进行操作。因此,解决同样的数值计算问题,使用MATLAB要比使用Basic、Fortran和C语言等提高效率许多倍。许多人赞誉它为万能的数学“演算纸”。MATLAB采用开放式的环境,你可以读到它的算法,并能改变当前的函数或增添你自己编写的函数。在欧美的大学和研究机构中,MATLAB是一种非常流行的计算机语言,许多重要的学术刊物上发表的论文均是用MATLAB来分析计算以及绘制出各种图形。它还是一种有利的教学工具,它在大学的线性代数课程以及其它领域的高一级课程的教学中,已成为标准的教学工具。最初的MATLAB是用FORTRAN编写的,在DOS环境下运行。新版的MATLAB 是C语言编写的高度集成系统。它在几乎所有流行的计算机机种,诸如PC、MACINTOSH、SUN、VAX上都有相应的MATLAB版本。新版的MATLAB增强了图形处理功能,并在WINDOWS环境下运行。现今,MATLAB的发展已大大超出了“矩阵实验室”的范围,在许多国际一流专家学者的支持下,Maths Works公司还为MATLAB配备了涉及到自动控制、信息处理、计算机仿真等种类繁多的工具箱(Tool Box),这些工具箱有数理统计、信号处理、系统辨识、最优化、稳健等等。近年来一些新兴的学科方向,Maths Works公司也很快地开发了相应的工具箱,例如:神经网络、模糊逻辑等。1.2 MATLAB操作说明一启动MATLAB启动MATLAB有两种方法:1在WINDOWS下,点D:matlabbinmatlab.exe进入MATLAB环境2在DOS下,键入matlab,这一命令会自动执行WINDOWS,并启动MATLAB以上两种操作的结果都会出现一个MATLAB的命令窗口。二MATLAB的一些基本操作及命令函数1矩阵的输入 矩阵可以用几种不同的方法输入到MATLAB语言中: 以直接列出元素的形式输入 通过语句和函数产生 建立在M文件中 从外部的数据文件中装入 在MATLAB语言中不必描述矩阵的维数和类型,它们是由输入的格式和内容来确定的。输入小矩阵最简单的方法是使用直接排列的形式,把矩阵的元素直接排列到方括号中,每行内的元素用空格或逗号分开,行与行的内容用分号格开。例如输入A=1 2 3;4 5 6;7 8 9或 A=1,2,3;4,5,6;7,8,9都将得到输出结果:A=1 2 34 5 67 8 9 大的矩阵可以分行输入,用回车号代替分号。输入后矩阵A将一直保存在工作空间中,除非被替代和清除,A矩阵可以随时被调出来。若在命令末尾加上“;”号,则表示结果不显示,除非再次调用。其余输入在实验中再做说明。2矩阵的运算如果一个矩阵A有n行、m列元素,则称A矩阵为nm矩阵,如果n=m,则称矩阵A又称为方阵。MATLAB定义了下面各种矩阵的基本运算:矩阵转置 用符号“”来表示矩阵的转置。如输入:x=-1 0 2 则输出为: x = -1 0 2 矩阵加、减 矩阵的加、减由符号“+”、“-”表示,它有两种格式:a. 两种矩阵进行加减运算,其对应的元素进行加减,得到一新矩阵。如输入:A=1 2 3;4 5 6;7 8 9;B=1 4 7;8 9 10;11 12 13;C=A+B则输出为:C=2 6 1012 14 1618 20 22b. 矩阵与标量进行加减运算,则矩阵中每个元素都与标量进行加减运 算,如输入: x=-1,0,2; y=x-1 则输出为: y= -2 -1 1矩阵乘法,以符号“*”表示a. 两矩阵相乘,如输入x=2 3 4 5;1 2 2 1;y=0 1 1;1 1 0;0 0 1;1 0 0; z=xy 则输出为: z=8 5 63 3 3b. 矩阵与标量相乘,如输入A=2,3,4,5;1,2,2,1;B=A2则输出为:B=4 6 8 102 4 4 2 矩阵的求逆 以“inv”来表示,如inv(A)表示A的逆。如输入: A=1 2 3;4 2 6;7 4 9; inv(A) 则输出为: ans= -0.5000 -0.5000 0.50000.5000 -1.0000 0.50000.1667 0.8333 -0.5000矩阵的乘方,以符号“”表示 ap表示a的p次方,即a自乘p次。当p为矩阵时,运算会出错。3MATLAB定义的点运算MATLAB中定义了一种特殊的运算,即所谓的点运算。两个矩阵之间的点运算是该矩阵对应元素的直接运算。注意:点乘积运算要求参与运算的两个矩阵维数相同,其具体操作如下所示:乘除运算 在MATLAB中,符号“.”表示乘法运算,相乘的数组要有相同的维 数,而符号“./”表示数组除法运算,且为对应元素进行乘除。 如输入:A=1,2,3;B=4,5,6; C=A. B 输出为: C=4 10 18 输入: D=B./A 输出为: D=4.00 2.5000 2.0000 乘方运算,以符号“.”表示a. 当x、y均为向量时,z=x.y表示对应元素的乘方。b. 当x为向量,y为标量时,z=x.y表示z(i)=x(i)y。c. 当x为标量,y为向量时,z=x.y表示z(i)=xy(i)。 该运算也可用于任意维矩阵。4在MATLAB中,复数序列用“i”或“j”表示sqrt(-1),即5关系运算MATLAB中共有六种关系,分别为:=小于大于等于小于等于大于等于不等于对两矩阵的对应元素进行比较,若关系成立则为1,否则为0。6常用命令函数! 执行操作系统命令abs 绝对值函数angle 相角函数 axis 坐标轴标度设定cla 清除当前坐标轴clc 清除命令窗口显示clf 清除当前图形窗口close 关闭图形窗口delete 删除文件demo 运行MATLAB演示程序function MATLAB函数表达式的引导符grid 给图形加网格线gtext 在鼠标指定的位置加文字说明help 启动联机帮助文件显示hold 当前图形保护模式imag 求取虚部函数length 查询向量的维数linspace 构造线性分布的向量logspace 构造等对数分布的向量pi 圆周率plot 线性坐标图形绘制quit 退出MATLAB环境real 求取实部函数size 查询矩阵的维数sqrt 平方根函数stem 函数序列柄状图形绘制subplot 将图形窗口分成若干个区域title 给图形加标题xlabel 给图形加x坐标说明ylabel 给图形加y坐标说明 实验一、熟悉MATLAB环境实验目的1 熟悉MATLAB主界面,并学会简单的菜单操作。2 学会简单的矩阵输入与信号输入。3 掌握部分绘图函数。实验原理 MATLAB 是以复杂矩阵作为基本编程单元的一种程序设计语言。它提供了各种矩阵的运算与操作,并有较强的绘图功能。用户第一次使用MATLAB时,建议首先在屏幕上键入DEMO命令,它将启动MATLAB的演试程序,用户可在此演示程序中领略MATLAB所提供的强大的运算与绘图功能。也可以键入HELP进行进一步了解。MATLAB命令窗口的界面下有一个菜单条,如图所示:利用FILE菜单可方便对文件或窗口进行管理。其中FILE|NEW的各子菜单,M-FILE(M文件)、FIGURE(图形窗口)、或MODEL(SIMULINK编辑界面)分别可创建对应文件或模块。EDIT菜单允许用户和WINDOWS的剪切板交互信息。MATLAB语言最基本的赋值语句结构为:变量名列表=表达。表达式由操作符或其它字符,函数和变量名组成,表达式的结果为一个矩阵,显示在屏幕上,同时输送到一个变量中并存放于工作空间中以备调用。如果变量名和“=”省略,则ANS变量将自动建立,例如键入:1900/81,得到输出结果:ans =23.4568。在MATLAB中把数据绘成图形可有多种命令一供选择。下面列出了这些命令: 绘图命令 Plot 线性X-Y坐标图 Loglog 双对数坐标图 Semilogx X轴对数半对数坐标图 Semilogy Y轴对数半对数坐标图 Polar 极坐标图 Mesh 三维消隐图 Contour 等高线图 Bar 条形图 Stairs 阶梯图 除了可以在屏幕上显出图形外,还可以对屏幕上已有的图形加注释、题头或坐标网格。 图形加注 Title 画题头 Xlabel x轴标注 Ylabel y轴标注 Text 任意定位的标注 Gtext 鼠标定位标注 Dgrid 网格 关于坐标轴尺寸的选择和图形处理等控制命令: 图形控制命令 Axis 人工选择坐标轴尺寸 Clg 清除图形窗口 Ginput 利用鼠标的十字准线输入 Hold 保持图形 Shg 显示图形窗口 Subplot 将图形窗口分成N块子窗实验内容 一熟悉简单的矩阵输入1 从屏幕上输入矩阵A=1 2 3;4 5 6;7 8 9 或A=1,2,3;4,5,6;7,8,9 观察输出结果。2 试用回车代替分号,观察输出结果。3 输入矩阵B=9,8,7;6,5,4;3,2,1 C=4,5,6;7,8,9;1,2,3, 键入A B C 观察结果4 选择File|new菜单中的M-file,输入B=9 ,8,7;6,5,4;3,2,1,保存为B.M文件,退出编辑环境。此时在工作环境中使用B命令就可调出B矩阵。5 再试着输入一些矩阵,矩阵中的元素可为任意表达式,但注意 矩阵中各行各列的元素个数需分别相等,否则会给出出错信息。6 输入who和whos观察结果,了解其作用。二基本序列运算1 数组的加减乘除和乘方运算 输入A=1 2 3,B=4 5 6,求C=A+B,D=A-B,E=A.*B,F=A./B,G=A.B,并用stem画出A,B,C,D,E,F,G。再输入一些数组,进行类似运算。2粗略描绘下列各函数的波形(其中对于连续信号可取时间间隔为0.001) a. b. c. d. e. f. g. 实验二 离散时间信号与系统实验目的1了解信号处理的基本操作2熟悉一些常用的序列及其应用实验原理我们所接触的信号大多为连续信号,为使之便于处理,往往要对其进行采样,对信号抽样并保证其能完全恢复,对抽样频率有一定的限制。基本的离散序列的定义如下:1单位采样序列 2单位阶跃序列 3实指数序列,; a为实数4复数指数序列 ,5正余弦序列,6周期序列,实验内容1用MATLAB实现函数impseq(n0,n1,n2),使函数实现,。该函数的格式为:Function x,n=impseq(n0,n1,n2)% Generate x(n)=delta(n-n0);n1=n=n2% x,n=impseq(n0,n1,n2)2用MATLAB实现函数stepseq(n0,n1,n2),使函数实现u(n-n0),。该函数的格式为:function x,n=stepseq(n0,n1,n2)%Generate x(n)=u(n-n0);n1=n=n2%x,n=stepseq(n0,n1,n2)3用MATLAB实现下列序列a. b. c. d. 将c中的扩展为,周期数为44MATLAB中可用算术运算符“+”实现信号相加,但和的长度必须相等。如果序列长度不等,或者长度虽然相等但采样的位置不同,就不能运用“+”了。试用MATLAB写出任意序列相加的函数sigadd,其格式如下:Function % 实现 % % y=在包括n1和n2的n上求和序列% x1=长为n1的第一个序列,x2=长为n2的第二个序列(n2 可与n1不等)5与sigadd相仿,建立一个信号相乘sigadd函数6建立一个函数sigshift,实现,函数格式如下:fuction % 实现% 7建立一个函数sigfold,实现。MATLAB中,这一运算由fliplr(x)函数实现,而对采样位置则由-fliplr(n)得到。格式与上类同。8用 MATLAB产生并画出(用stem 函数)下列序列的样本:a) b) c) d) (其中是一个在0,1之间均匀分布的随机序列,用rand(1,N)实现,其中N表示长度) e) ,画出五个序列9令x(n)=1,-2,4,6,-5,8,10,产生并画出下列序列的样本a) b) 10将题9中的序列分解为偶和奇分量。用stem画出这些分量 其中偶部: 奇部:创建函数evenodd,实现奇偶分量11考虑模拟信号。分别用Ts=0.5,0.25,0.1秒时的采样 间隔对它采样以获得x(n),对每个Ts,画出x(n),讨论所得结果。12信号的扩展(或抽取,或降低采样频率)定义为: 其中x(n)的采样频率被降低了整数因子M。a. 开发一个MATLAB函数dnsample,其格式为Function y=dnsample(x,M)用以实现上述运算。在应用MATLAB的下标功能时要特别注意时间轴的原点n=0。b. 。频率降低因子为4,求y(n)。用subplot 函数分别画出x(n)和y(n),并对结果进行讨论。c. 用重复上题,定性地讨论降低采样频率对 信号的影响。思考题1任意复值序列x(n)均可分解为: 其中和a. 修改evenodd函数,使它能接受任意序列并把它分解为上式表示的分量。b. 分解下列序列,画出它的实部和虚部,验证共轭对称性。2对11题中的序列用sinc内插(取),用样本集重构模拟信号,并从图中求出的频率,忽略尾部效应。 用三次样条内插,重构。实验三 零极点实验及其频响实验目的1掌握系统函数零极点定义2零极点与频响的关系3零极点与系统稳定性的关系4状态方程含义5使用zplane函数实验原理该实验用MATLAB中库函数,如tf2zp(b,a),ss2zp(A,B,C,D),zplane(z,p),freqz(b,a)等。例如:1传递函数为,求其零极点图。程序如下:num=1 0.5 2; 分子系数,按降幂顺序排列den=1 0.4 1; 分母系数,按降幂顺序排列z,p=tf2zp(num,den); 用tf2zp函数求出其零点z和极点pzplane(z,p) 作出零极点图 2若给出的是滤波器的输入与输出的状态方程,如:,求其零极点图。程序如下: A=1,0;1,-3; B=1;0; C=-,1; D=0; z,p=ss2zp(A,B,C,D);求出其零极点z,p zplane(z,p)在连续时间系统中,当极点在虚轴的右半平面时,系统不稳定,在虚轴上,单阶极点系统稳定;若零点均处于左半平面内,则系统为最小相位系统。在离散系统中,极点在单位圆外系统不稳定,在单位圆上,单阶极点系统稳定;零点在单位圆内,系统为最小相位系统。对一滤波器,我们不仅要知道它的零点和极点,还要了解它的频率特性,本实验可求其频率特性。对模拟滤波器,可用freqs函数求得其频率特性,对数字滤波器,则用freqz函数求得。例3已知模拟滤波器的传递函数为,求其频率特性。 程序如下: num=0.2 0.3 1; den=1 0.4 1; w=logspace(-1,1); 频率范围 freqs(num,den,w)例4数字滤波器,取样点数为128点,求其频率特性。 程序如下: num=0.2 0.3 1; den=1 0.4 1; freqz(num,den,128)实验内容1已知下列传递函数H(s)或H(z),求其零极点,并画出零极点图。a. b.c.d.e. 2求出下列系统的零极点,分析其稳定性,并判断它们是否为最小相位系统。a. b. c. d. e. f.3已知下列H(s)或H(z),求其频响。a. b. c. d. e. 思考题1已知,求其零极点。(提示:令,分别求出零极点,再合并)2已知数字滤波器的状态方程为: 求其频响特性。3设有一模拟滤波器,采样周期为T=2,试用双线性变换法 将它转变为数字滤波器H(z),并求原模拟滤波器与转换后滤波器的频响特性 (已知双线性变换法的函数为bilinear,其使用方法为:numd,dend=bilinear(num,den,Fs),其中num,numd,den,dend分别为转变前后传递函数的分子、分母系数,

温馨提示

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

评论

0/150

提交评论