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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

实验二利用matlab进行时域分析Word下载.docx

1、 ;+; p=poly(v)结果显示p =由此可见,函数roots()与函数poly()是互为逆运算的。(3)多项式求值在MATLAB 中通过函数polyval()可以求得多项式在给定点的值,该函数的调用格式为: polyval(p,v) 对于上例中的p值,求取多项式在x点的值,可输入如下命令:x=1 polyval(p,x)x = 1ans = 8 (4)部分分式展开 考虑下列传递函数: 式中,但是和中某些量可能为零。MATLAB函数可将展开成部分分式,直接求出展开式中的留数、极点和余项。该函数的调用格式为: 则的部分分式展开由下式给出:, ,为极点,为各极点的留数,为余项。例 设传递函数为

2、: 该传递函数的部分分式展开由以下命令获得: num=2,5,3,6; den=1,6,11,6; r,p,k=residue(num,den)命令窗口中显示如下结果r =k = 2中留数为列向量r,极点为列向量p,余项为行向量k。由此可得出部分分式展开式:该函数也可以逆向调用,把部分分式展开转变回多项式之比的形式,命令格式为: num,den=residue(r,p,k) 对上例有: num,den=residue(r,p,k)num =den =应当指出,如果p(j)=p(j+1)=p(j+m-1),则极点p(j)是一个m重极点。在这种情况下,部分分式展开式将包括下列诸项: 则部分分式展开

3、由以下命令获得: v=-1,-1,-1num=0,1,2,3; den=poly(v);r,p,k=residue(num,den) -1 -1 -1 其中由poly()命令将分母化为标准降幂排列多项式系数向量den, k=为空矩阵。由上可得展开式为:(5)由传递函数求零点和极点。在MATLAB控制系统工具箱中,给出了由传递函数对象G求出系统零点和极点的函数,其调用格式分别为:Z=tzero(G) P=1 注意:式19中要求的G必须是零极点模型对象,且出现了矩阵的点运算“.”和大括号表示的矩阵元素,详细内容参阅后面章节。例 已知传递函数为:输入如下命令:num=,;den=1,22,0;G=t

4、f(num,den);G1=zpk(G);Z=tzero(G)P=1Z = -7 -2P = 0 (6)零极点分布图 在MATLAB中,可利用pzmap()函数绘制连续系统的零、极点图,从而分析系统的稳定性,该函数调用格式为:pzmap(num,den) 例 给定传递函数: 利用下列命令可自动打开一个图形窗口,显示该系统的零、极点分布图,如图3-1所示。 num=3,2,5,4,6; den=1,3,4,2,7,2;pzmap(num,den)title(Pole-Zero Map)% 图形标题。二. 系统动态特性分析。控制系统软件包提供了控制系统工程需要的基本的时域与频域分析工具函数。连续时

5、间系统分析函数Impulse脉冲响应Step阶跃响应Lsim任意输入的仿真Bode波特图Nyquist奈奎斯特图Lyap李雅普诺夫方程Gram可控性与可观性(1)时域响应解析算法部分分式展开法用拉氏变换法求系统的单位阶跃响应,可直接得出输出c(t)随时间t变化的规律,对于高阶系统,输出的拉氏变换象函数为:对函数c(s)进行部分分式展开,我们可以用num,den,0来表示c(s)的分子和分母。例 给定系统的传递函数:用以下命令对进行部分分式展开。 num,den,0num=1,7,24,24den=1,10,35,50,24r,p,k=residue(num,den,0)输出结果为 1 7 24

6、 24 1 10 35 50 24 0输出函数c(s)为: C(s)=num/(den*s) num = 1 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)该函数将绘制出系统在单位阶跃输入条件下的动态响应图,同时给出稳态值。对

7、于式(b)和(d),t为图像显示的时间长度,是用户指定的时间向量。式(a)和(c)的显示时间由系统根据输出曲线的形状自行设定。如果需要将输出结果返回到MATLAB工作空间中,则采用以下调用格式: c=step(G) 此时,屏上不会显示响应曲线,必须利用plot()命令去查看响应曲线。plot 可以根据两个或多个给定的向量绘制二维图形,详细介绍可以查阅后面的章节。例 已知传递函数为: 利用以下MATLAB命令可得阶跃响应曲线如图3-2所示。图3-2 MATLAB绘制的响应曲线 num=0,0,25; den=1,4,25;step(num,den)grid % 绘制网格线Unit-Step Re

8、sponse of G(s)=25/(s2+4s+25) ) % 图像标题我们还可以用下面的语句来得出阶跃响应曲线 G=tf(0,0,25,1,4,25); t=0:5; % 从0到5每隔取一个值。 c=step(G,t);% 动态响应的幅值赋给变量c plot(t,c) % 绘二维图形,横坐标取t,纵坐标取c。 Css=dcgain(G) % 求取稳态值。系统显示的图形类似于上一个例子,在命令窗口中显示了如下结果 Css= 1(3)求阶跃响应的性能指标MATLAB提供了强大的绘图计算功能,可以用多种方法求取系统的动态响应指标。我们首先介绍一种最简单的方法游动鼠标法。对于例16,在程序运行完毕

9、后,用鼠标左键点击时域响应图线任意一点,系统会自动跳出一个小方框,小方框显示了这一点的横坐标(时间)和纵坐标(幅值)。按住鼠标左键在曲线上移动,可以找到曲线幅值最大的一点即曲线最大峰值,此时小方框中显示的时间就是此二阶系统的峰值时间,根据观察到的稳态值和峰值可以计算出系统的超调量。系统的上升时间和稳态响应时间可以依此类推。这种方法简单易用,但同时应注意它不适用于用plot()命令画出的图形。另一种比较常用的方法就是用编程方式求取时域响应的各项性能指标。与上一段介绍的游动鼠标法相比,编程方法稍微复杂,但通过下面的学习,读者可以掌握一定的编程技巧,能够将控制原理知识和编程方法相结合,自己编写一些程

10、序,获取一些较为复杂的性能指标。通过前面的学习,我们已经可以用阶跃响应函数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=d

11、cgain(G);Y,k=max(y); percentovershoot=100*(Y-C)/C dcgain( )函数用于求取系统的终值,将终值赋给变量C,然后依据超调量的定义,由Y和C计算出百分比超调量。 上升时间(risetime)可利用MATLAB中控制语句编制M文件来获得。首先简单介绍一下循环语句while的使用。while循环语句的一般格式为:while 循环体end其中,循环判断语句为某种形式的逻辑判断表达式。当表达式的逻辑值为真时,就执行循环体内的语句;当表达式的逻辑值为假时,就退出当前的循环体。如果循环判断语句为矩阵时,当且仅当所有的矩阵元素非零时,逻辑表达式的值为真。为避

12、免循环语句陷入死循环,在语句内必须有可以自动修改循环控制变量的命令。要求出上升时间,可以用while语句编写以下程序得到:n=1;while y(n)C n=n+1;risetime=t(n)在阶跃输入条件下,y 的值由零逐渐增大,当以上循环满足y=C时,退出循环,此时对应的时刻,即为上升时间。对于输出无超调的系统响应,上升时间定义为输出从稳态值的10%上升到90%所需时间,则计算程序如下: while y(n)*C)&(y(i)*C) i=i-1;setllingtime=t(i)用向量长度函数length( )可求得t序列的长度,将其设定为变量i的上限值。例 已知二阶系统传递函数为:利用下面的程序可得到阶跃响应如图 3-3及性能指标数据。 G(S)=3/(S2+2S+10) num=0,0,3; den=1,2,10;grid Unit-Step Response of G(s)=3/(s2+2s+10) )或者G=tf(0,0,3,1,2,10);t=0:c=step(G,t);plot(t,c) Css=dcgain(G)Css = y,t=step(G)y =t = timetopeak=t(k)timetopeak = C=dcgain(G); percentovershoot=100*(Y-C)/Cpercentovershoot = n=1;运行后的响应图:

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

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