实验二 利用matlab进行时域分析

上传人:第*** 文档编号:34052237 上传时间:2018-02-20 格式:DOC 页数:18 大小:134.50KB
返回 下载 相关 举报
实验二 利用matlab进行时域分析_第1页
第1页 / 共18页
实验二 利用matlab进行时域分析_第2页
第2页 / 共18页
实验二 利用matlab进行时域分析_第3页
第3页 / 共18页
实验二 利用matlab进行时域分析_第4页
第4页 / 共18页
实验二 利用matlab进行时域分析_第5页
第5页 / 共18页
点击查看更多>>
资源描述

《实验二 利用matlab进行时域分析》由会员分享,可在线阅读,更多相关《实验二 利用matlab进行时域分析(18页珍藏版)》请在金锄头文库上搜索。

1、实验二 利用 MATLAB 进行时域分析本实验内容包含以下三个部分:基于 MATLAB 的线性系统稳定性分析、基于 MATLAB 的线性系统动态性能分析、和 MATALB 进行控制系统时域分析的一些其它实例。一、 基于 MATLAB 的线性系统稳定性分析线性系统稳定的充要条件是系统的特征根均位于 S 平面的左半部分。系统的零极点模型可以直接被用来判断系统的稳定性。另外,MATLAB 语言中提供了有关多项式的操作函数,也可以用于系统的分析和计算。(1)直接求特征多项式的根设 p 为特征多项式的系数向量,则 MATLAB 函数 roots()可以直接求出方程 p=0 在复数范围内的解 v,该函数的

2、调用格式为:v=roots(p) 例 3.1 已知系统的特征多项式为:1235xx特征方程的解可由下面的 MATLAB 命令得出。 p=1,0,3,2,1,1;v=roots(p)结果显示:v =0.3202 + 1.7042i0.3202 - 1.7042i-0.7209 0.0402 + 0.6780i0.0402 - 0.6780i利用多项式求根函数 roots(),可以很方便的求出系统的零点和极点,然后根据零极点分析系统稳定性和其它性能。(2)由根创建多项式如果已知多项式的因式分解式或特征根,可由 MATLAB 函数 poly()直接得出特征多项式系数向量,其调用格式为:p=poly(

3、v) 如上例中:v=0.3202+1.7042i;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=1polyval(p,

4、x)结果显示x =1ans =8(4)部分分式展开考虑下列传递函数:nnasabbdenumsNM10)(式中 ,但是 和 中某些量可能为零。0aiajMATLAB 函数可将 展开成部分分式,直接求出展开式中的留数、极点和余项。该)(s函数的调用格式为:),(,denumreikp则 的部分分式展开由下式给出:)(sNM)()2()1()( sknpsrpsrsr 式中 , , ,为极点,1)(p2n, , 为各极点的留数, 为余项。r2rnr)( )(sk例 3.2 设传递函数为:61352)(32ssG该传递函数的部分分式展开由以下命令获得: num=2,5,3,6; den=1,6,11

5、,6;r,p,k=residue(num,den)命令窗口中显示如下结果r =-6.0000-4.00003.0000p =-3.0000-2.0000-1.0000k =2中留数为列向量 r,极点为列向量 p,余项为行向量 k。由此可得出部分分式展开式: 21346)(ssG该函数也可以逆向调用,把部分分式展开转变回多项式 之比的形式,命令格式)(sNM为: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.000

6、0应当指出,如果 p(j)=p(j+1)=p(j+m-1),则极点 p(j)是一个 m 重极点。在这种情况下,部分分式展开式将包括下列诸项: mjpsrjpsrjsr )(1)(1)(2例 3.3 设传递函数为:13)1(3)22 sssG则部分分式展开由以下命令获得: v=-1,-1,-1num=0,1,2,3;den=poly(v);r,p,k=residue(num,den)结果显示v =-1 -1 -1r =1.00000.00002.0000p =-1.0000-1.0000-1.0000k =其中由 poly()命令将分母化为标准降幂排列多项式系数向量 den, k=为空矩阵。由上

7、可得展开式为:0)1(2)(01)( 3ssG(5)由传递函数求零点和极点。在 MATLAB 控制系统工具箱中,给出了由传递函数对象 G 求出系统零点和极点的函数,其调用格式分别为:Z=tzero(G) P=G.P1 注意:式 19 中要求的 G 必须是零极点模型对象,且出现了矩阵的点运算“.”和大括号表示的矩阵元素,详细内容参阅后面章节。例 3.4 已知传递函数为:sss5.1925.7.68)(34输入如下命令: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-2

8、P =0 -3.0000 + 2.0000i-3.0000 - 2.0000i-1.5000 (6)零极点分布图在 MATLAB 中,可利用 pzmap()函数绘制连续系统的零、极点图,从而分析系统的稳定性,该函数调用格式为:pzmap(num,den) 例 3.5 给定传递函数:2743652)(235 sssG利用下列命令可自动打开一个图形窗口,显示该系统的零、极点分布图,如图 3-1 所示。 num=3,2,5,4,6;den=1,3,4,2,7,2;pzmap(num,den)title(Pole-Zero Map)% 图形标题。-2 -1.5 -1 -0.5 0 0.5-1.5-1-

9、0.500.511.5 Pole-Zero MapReal AxisImaginaryAxis二. 系统动态特性分析。控制系统软件包提供了控制系统工程需要的基本的时域与频域分析工具函数。连续时间系统分析函数Impulse 脉冲响应Step 阶跃响应Lsim 任意输入的仿真Bode 波特图Nyquist 奈奎斯特图Lyap 李雅普诺夫方程Gram 可控性与可观性(1)时域响应解析算法部分分式展开法用拉氏变换法求系统的单位阶跃响应,可直接得出输出 c(t)随时间 t 变化的规律,对于高阶系统,输出的拉氏变换象函数为:sdenumsGC1)(对函数 c(s)进行部分分式展开,我们可以用 num,de

10、n,0来表示 c(s)的分子和分母。例 3.6 给定系统的传递函数:24503107)(24sss用以下命令对 进行部分分式展开。G 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.00002.0000-1.0000-1.00001.0000p =-4.0000-3.0000-2.0000-1.00000k =输出函数 c(s)为:C(s)=num/(den*s)num =1 7 24 24ans =1 10 35 50 24 0拉

11、氏变换得:L=laplace(s3+7*s+24*s+24)/(s4+10*s3+35*s2+50*s+24),s,t)(2)单位阶跃响应的求法:控制系统工具箱中给出了一个函数 step()来直接求取线性系统的阶跃响应,如果已知传递函数为: denumsG)(则该函数可有以下几种调用格式:step(num,den) (a)step(num,den,t) (b)或 step(G) (c)step(G,t) (d)该函数将绘制出系统在单位阶跃输入条件下的动态响应图,同时给出稳态值。对于式(b)和(d),t 为图像显示的时间长度,是用户指定的时间向量。式(a)和(c)的显示时间由系统根据输出曲线的形

12、状自行设定。如果需要将输出结果返回到 MATLAB 工作空间中,则采用以下调用格式:c=step(G) 此时,屏上不会显示响应曲线,必须利用 plot()命令去查看响应曲线。plot 可以根据两个或多个给定的向量绘制二维图形,详细介绍可以查阅后面的章节。例 3.7 已知传递函数为:254)(2ssG利用以下 MATLAB 命令可得阶跃响应曲线如图 3-2 所示。 num=0,0,25;den=1,4,25;step(num,den)grid % 绘制网格线title(Unit-Step Response of G(s)=25/(s2+4s+25) ) % 图像标题我们还可以用下面的语句来得出阶

13、跃响应曲线 G=tf(0,0,25,1,4,25);t=0:0.1:5; % 从 0 到 5 每隔 0.1 取一个值。c=step(G,t);% 动态响应的幅值赋给变量 cplot(t,c) % 绘二维图形,横坐标取 t,纵坐标取 c。Css=dcgain(G) % 求取稳态值。系统显示的图形类似于上一个例子,在命令窗口中显示了如下结果Css=1(3)求阶跃响应的性能指标MATLAB 提供了强大的绘图计算功能,可以用多种方法求取系统的动态响应指标。我们图 3-2 MATLAB 绘制的响应曲线首先介绍一种最简单的方法游动鼠标法。对于例 16,在程序运行完毕后,用鼠标左键点击时域响应图线任意一点,系统会自动跳出一个小方框,小方框显示了这一点的横坐标(时间)和纵坐标(幅值) 。按住鼠标左键在曲线上移动,可以找到曲线幅值最大的一点即曲线最大峰值,此时小方框中显示的时间就是此二阶系统的峰值时间,根据观察到的稳态值和峰值可以计算出系统的超调量。系统的上升时间和稳态响应时间可以依此类推。这种方法简单易用,但同时应注意它不适用于用 plot()命令画出的图形。另一种比较常用的方法就是用编程方式求取时域响应的各项性能

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 解决方案

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号