


版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、.实验二 利用MATLAB进行时域分析本实验内容包含以下三个部分:基于MATLAB的线性系统稳定性分析、基于MATLAB的线性系统动态性能分析、和MATALB进行控制系统时域分析的一些其它实例。一、基于MATLAB的线性系统稳定性分析线性系统稳定的充要条件是系统的特征根均位于S平面的左半部分。系统的零极点模型可以直接被用来判断系统的稳定性。另外,MATLAB语言中提供了有关多项式的操作函数,也可以用于系统的分析和计算。(1)直接求特征多项式的根设p为特征多项式的系数向量,则MATLAB函数roots()可以直接求出方程p=0在复数范围内的解v,该函数的调用格式为:v=roots(p) 例3.1
2、 已知系统的特征多项式为:特征方程的解可由下面的MATLAB命令得出。>>p=1,0,3,2,1,1;v=roots(p)结果显示:v = 0.3202 + 1.7042i 0.3202 - 1.7042i -0.7209 0.0402 + 0.6780i 0.0402 - 0.6780i利用多项式求根函数roots(),可以很方便的求出系统的零点和极点,然后根据零极点分析系统稳定性和其它性能。(2)由根创建多项式如果已知多项式的因式分解式或特征根,可由MATLAB函数poly()直接得出特征多项式系数向量,其调用格式为:p=poly(v) 如上例中:v=0.3202+1.7042
3、i;0.3202-1.7042i;-0.7209;0.0402+0.6780i; 0.0402-0.6780i; >>p=poly(v)结果显示p = 1.0000 0.0001 3.0000 2.0001 0.9998 0.9999由此可见,函数roots()与函数poly()是互为逆运算的。(3)多项式求值在MATLAB 中通过函数polyval()可以求得多项式在给定点的值,该函数的调用格式为: polyval(p,v) 对于上例中的p值,求取多项式在x点的值,可输入如下命令:>> p=1,0,3,2,1,1;x=1 polyval(p,x)结果显示x = 1an
4、s = 8 (4)部分分式展开 考虑下列传递函数:式中,但是和中某些量可能为零。MATLAB函数可将展开成部分分式,直接求出展开式中的留数、极点和余项。该函数的调用格式为:则的部分分式展开由下式给出:式中,为极点,,为各极点的留数,为余项。例3.2 设传递函数为:该传递函数的部分分式展开由以下命令获得:>>num=2,5,3,6; den=1,6,11,6;r,p,k=residue(num,den)命令窗口中显示如下结果r = -6.0000 -4.0000 3.0000p = -3.0000 -2.0000 -1.0000k = 2中留数为列向量r,极点为列向量p,余项为行向量
5、k。由此可得出部分分式展开式:该函数也可以逆向调用,把部分分式展开转变回多项式之比的形式,命令格式为:num,den=residue(r,p,k) 对上例有:>> num,den=residue(r,p,k)结果显示num = 2.0000 5.0000 3.0000 6.0000den = 1.0000 6.0000 11.0000 6.0000应当指出,如果p(j)=p(j+1)=p(j+m-1),则极点p(j)是一个m重极点。在这种情况下,部分分式展开式将包括下列诸项:例3.3 设传递函数为: 则部分分式展开由以下命令获得:>>v=-1,-1,-1num=0,1,
6、2,3;den=poly(v);r,p,k=residue(num,den)结果显示v = -1 -1 -1r = 1.0000 0.0000 2.0000p = -1.0000 -1.0000 -1.0000k = 其中由poly()命令将分母化为标准降幂排列多项式系数向量den,k=为空矩阵。由上可得展开式为:(5)由传递函数求零点和极点。在MATLAB控制系统工具箱中,给出了由传递函数对象G求出系统零点和极点的函数,其调用格式分别为:Z=tzero(G) P=G.P1 注意:式19中要求的G必须是零极点模型对象,且出现了矩阵的点运算“.”和大括号表示的矩阵元素,详细内容参阅后面章节。例3
7、.4 已知传递函数为:输入如下命令:num=6.8,61.2,95.2;den=1,7.5,22,19.5,0;G=tf(num,den);G1=zpk(G);Z=tzero(G)P=G1.P1结果显示Z = -7 -2P = 0 -3.0000 + 2.0000i -3.0000 - 2.0000i -1.5000 (6)零极点分布图 在MATLAB中,可利用pzmap()函数绘制连续系统的零、极点图,从而分析系统的稳定性,该函数调用格式为:pzmap(num,den) 例 3.5 给定传递函数: 利用下列命令可自动打开一个图形窗口,显示该系统的零、极点分布图,如图3-1所示。>>
8、;num=3,2,5,4,6;den=1,3,4,2,7,2;pzmap(num,den)title(¹Pole-Zero Map¹)%图形标题。二. 系统动态特性分析。控制系统软件包提供了控制系统工程需要的基本的时域与频域分析工具函数。连续时间系统分析函数Impulse脉冲响应Step阶跃响应Lsim任意输入的仿真Bode波特图Nyquist奈奎斯特图Lyap李雅普诺夫方程Gram可控性与可观性(1)时域响应解析算法部分分式展开法用拉氏变换法求系统的单位阶跃响应,可直接得出输出c(t)随时间t变化的规律,对于高阶系统,输出的拉氏变换象函数为:对函数c(s)进行部分分式展开
9、,我们可以用num,den,0来表示c(s)的分子和分母。例 3.6 给定系统的传递函数:用以下命令对进行部分分式展开。>>num,den,0num=1,7,24,24den=1,10,35,50,24r,p,k=residue(num,den,0)输出结果为num = 1 7 24 24den = 1 10 35 50 24r = -1.0000 2.0000 -1.0000 -1.0000 1.0000p = -4.0000 -3.0000 -2.0000 -1.0000 0k = 输出函数c(s)为:C(s)=num/(den*s)num = 1 7 24 24ans = 1
10、 10 35 50 24 0拉氏变换得:L=laplace(s3+7*s+24*s+24)/(s4+10*s3+35*s2+50*s+24),s,t)(2)单位阶跃响应的求法:控制系统工具箱中给出了一个函数step()来直接求取线性系统的阶跃响应,如果已知传递函数为:则该函数可有以下几种调用格式:step(num,den) (a)step(num,den,t) (b)或 step(G) (c)step(G,t) (d)该函数将绘制出系统在单位阶跃输入条件下的动态响应图,同时给出稳态值。对于式(b)和(d),t为图像显示的时间长度,是用户指定的时间向量。式(a)和(c)的显示时间由系统根据输出曲
11、线的形状自行设定。如果需要将输出结果返回到MATLAB工作空间中,则采用以下调用格式: c=step(G) 此时,屏上不会显示响应曲线,必须利用plot()命令去查看响应曲线。plot 可以根据两个或多个给定的向量绘制二维图形,详细介绍可以查阅后面的章节。例3.7 已知传递函数为: 利用以下MATLAB命令可得阶跃响应曲线如图3-2所示。图3-2 MATLAB绘制的响应曲线>> num=0,0,25;den=1,4,25;step(num,den)grid% 绘制网格线title(¹Unit-Step Response of G(s)=25/(s2+4s+25)
12、5;) % 图像标题我们还可以用下面的语句来得出阶跃响应曲线>> G=tf(0,0,25,1,4,25); t=0:0.1:5;% 从0到5每隔0.1取一个值。 c=step(G,t);%动态响应的幅值赋给变量c plot(t,c)% 绘二维图形,横坐标取t,纵坐标取c。 Css=dcgain(G) % 求取稳态值。系统显示的图形类似于上一个例子,在命令窗口中显示了如下结果 Css= 1(3)求阶跃响应的性能指标MATLAB提供了强大的绘图计算功能,可以用多种方法求取系统的动态响应指标。我们首先介绍一种最简单的方法游动鼠标法。对于例16,在程序运行完毕后,用鼠标左键点击时域响应图线
13、任意一点,系统会自动跳出一个小方框,小方框显示了这一点的横坐标(时间)和纵坐标(幅值)。按住鼠标左键在曲线上移动,可以找到曲线幅值最大的一点即曲线最大峰值,此时小方框中显示的时间就是此二阶系统的峰值时间,根据观察到的稳态值和峰值可以计算出系统的超调量。系统的上升时间和稳态响应时间可以依此类推。这种方法简单易用,但同时应注意它不适用于用plot()命令画出的图形。另一种比较常用的方法就是用编程方式求取时域响应的各项性能指标。与上一段介绍的游动鼠标法相比,编程方法稍微复杂,但通过下面的学习,读者可以掌握一定的编程技巧,能够将控制原理知识和编程方法相结合,自己编写一些程序,获取一些较为复杂的性能指标
14、。通过前面的学习,我们已经可以用阶跃响应函数step( )获得系统输出量,若将输出量返回到变量y中,可以调用如下格式 y,t=step(G) 该函数还同时返回了自动生成的时间变量t,对返回的这一对变量y和t的值进行计算,可以得到时域性能指标。 峰值时间(timetopeak)可由以下命令获得: Y,k=max(y); timetopeak=t(k) 应用取最大值函数max()求出y的峰值及相应的时间,并存于变量Y和k中。然后在变量t中取出峰值时间,并将它赋给变量timetopeak。 最大(百分比)超调量(percentovershoot)可由以下命令得到:C=dcgain(G);Y,k=ma
15、x(y); percentovershoot=100*(Y-C)/C dcgain( )函数用于求取系统的终值,将终值赋给变量C,然后依据超调量的定义,由Y和C计算出百分比超调量。 上升时间(risetime)可利用MATLAB中控制语句编制M文件来获得。首先简单介绍一下循环语句while的使用。while循环语句的一般格式为:while<循环判断语句> 循环体end其中,循环判断语句为某种形式的逻辑判断表达式。当表达式的逻辑值为真时,就执行循环体内的语句;当表达式的逻辑值为假时,就退出当前的循环体。如果循环判断语句为矩阵时,当且仅当所有的矩阵元素非零时,逻辑表达式的值为真。为避免
16、循环语句陷入死循环,在语句内必须有可以自动修改循环控制变量的命令。要求出上升时间,可以用while语句编写以下程序得到:C=dcgain(G);n=1;while y(n)<C n=n+1;endrisetime=t(n)在阶跃输入条件下,y 的值由零逐渐增大,当以上循环满足y=C时,退出循环,此时对应的时刻,即为上升时间。对于输出无超调的系统响应,上升时间定义为输出从稳态值的10%上升到90%所需时间,则计算程序如下:C=dcgain(G);n=1; while y(n)<0.1*C n=n+1; endm=1; while y(n)<0.9*C m=m+1; endris
17、etime=t(m)-t(n) 调节时间(setllingtime)可由while语句编程得到:C=dcgain(G);i=length(t); while(y(i)>0.98*C)&(y(i)<1.02*C)i=i-1;endsetllingtime=t(i)用向量长度函数length( )可求得t序列的长度,将其设定为变量i的上限值。例 3.8 已知二阶系统传递函数为:利用下面的stepanalysis.m程序可得到阶跃响应如图 3-3及性能指标数据。 G(S)=3/(S2+2S+10)>> num=0,0,3;den=1,2,10;step(num,den
18、)gridtitle(¹Unit-Step Response of G(s)=3/(s2+2s+10) ¹)或者G=tf(0,0,3,1,2,10);t=0:0.1:5;c=step(G,t);plot(t,c)>> Css=dcgain(G)Css = 0.3000G=tf(0,0,3,1,2,10);>> y,t=step(G)y = 0 0.0044 0.0168 0.0361 0.0610 0.0902 0.1223 0.1562 0.1907 0.2248 0.2574 0.2879 0.3155 0.3398 0.3604 0.3771
19、0.3898 0.3987 0.4037 0.4053 0.4036 0.3992 0.3923 0.3835 0.3733 0.3620 0.3500 0.3379 0.3260 0.3146 0.3039 0.2943 0.2858 0.2786 0.2728 0.2683 0.2653 0.2636 0.2631 0.2637 0.2653 0.2677 0.2708 0.2744 0.2784 0.2826 0.2868 0.2910 0.2950 0.2987 0.3021 0.3051 0.3076 0.3096 0.3112 0.3122 0.3128 0.3130 0.3127
20、 0.3122 0.3113 0.3102 0.3089 0.3075 0.3061 0.3046 0.3031 0.3017 0.3004 0.2992 0.2982 0.2973 0.2966 0.2961 0.2957 0.2955 0.2955 0.2955 0.2957 0.2960 0.2964 0.2969 0.2974 0.2979 0.2984 0.2989 0.2994 0.2999 0.3003 0.3006 0.3010 0.3012 0.3014 0.3015 0.3016 0.3016 0.3016 0.3015 0.3014 0.3012 0.3011 0.300
21、9 0.3007 0.3006 0.3004 0.3002 0.3000 0.2999 0.2998t = 0 0.0552 0.1104 0.1656 0.2209 0.2761 0.3313 0.3865 0.4417 0.4969 0.5521 0.6074 0.6626 0.7178 0.7730 0.8282 0.8834 0.9386 0.9939 1.0491 1.1043 1.1595 1.2147 1.2699 1.3252 1.3804 1.4356 1.4908 1.5460 1.6012 1.6564 1.7117 1.7669 1.8221 1.8773 1.9325 1.9877 2.0429 2.0982 2.1534 2.2086 2.2638 2.3190
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 关+于英语语篇结构标注研究综述
- 膳食因素和食管癌
- 林业年度工作总结范文11篇
- 江苏开放大学2025年春服务营销1单项选择题题库
- 河北省邢台市2024~2025学年 高二下册第四次质量检测数学试卷附解析
- 2024年厦门市第十中学招聘真题
- 公司春节活动方案
- 社区社区服务管理学研究管理基础知识点归纳
- 石大学前儿童保育学课件2-3早期发育与科学喂养
- 极地浮游生物的种群动态与栖息地重构-洞察阐释
- 西红柿冻干技术应用
- 马工程版《中国经济史》各章思考题答题要点及详解
- 贵州省生态保护红线分布图
- 运行水泵能耗情况分析
- 《弘扬中华美德传承良好家风》主题班会课件
- 云南省永德县2016年烟草水源工程康家坝水库至亚练连通工程环评报告
- 虚拟现实应用技术专业人才培养方案-rrl
- 物业管理员试题与参考答案
- 大学英语III(新视野大学英语读写教程2)学习通超星课后章节答案期末考试题库2023年
- 人文素养知识考试复习题库(含答案)
- 新型光学生物测量仪晶星900性能特点及临床应用
评论
0/150
提交评论