预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共18页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

实验二利用MATLAB进行时域分析 本实验内容包含以下三个部分:基于MATLAB的线性系统稳定性分析、基于MATLAB的线性系统动态性能分析、和MATALB进行控制系统时域分析的一些其它实例。 一、基于MATLAB的线性系统稳定性分析 线性系统稳定的充要条件是系统的特征根均位于S平面的左半部分。系统的零极点模型可以直接被用来判断系统的稳定性。另外,MATLAB语言中提供了有关多项式的操作函数,也可以用于系统的分析和计算。 (1)直接求特征多项式的根 设p为特征多项式的系数向量,则MATLAB函数roots()可以直接求出方程p=0在复数范围内的解v,该函数的调用格式为: v=roots(p) 例3.1已知系统的特征多项式为: 特征方程的解可由下面的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.7042i;0.3202-1.7042i; -0.7209;0.0402+0.6780i;0.0402-0.6780i]; >>p=poly(v) 结果显示 p= 1.00000.00013.00002.00010.99980.9999 由此可见,函数roots()与函数poly()是互为逆运算的。 (3)多项式求值 在MATLAB中通过函数polyval()可以求得多项式在给定点的值,该函数的调用格式为: polyval(p,v) 对于上例中的p值,求取多项式在x点的值,可输入如下命令: >>p=[1,0,3,2,1,1]; x=1 polyval(p,x) 结果显示 x= 1 ans= 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.0000 p= -3.0000 -2.0000 -1.0000 k= 2 中留数为列向量r,极点为列向量p,余项为行向量k。 由此可得出部分分式展开式: 该函数也可以逆向调用,把部分分式展开转变回多项式之比的形式,命令格式为: [num,den]=residue(r,p,k) 对上例有: >>[num,den]=residue(r,p,k) 结果显示 num= 2.00005.00003.00006.0000 den= 1.00006.000011.00006.0000 应当指出,如果p(j)=p(j+1)=…=p(j+m-1),则极点p(j)是一个m重极点。在这种情况下,部分分式展开式将包括下列诸项: 例3.3设传递函数为: 则部分分式展开由以下命令获得: >>v=[-1,-1,-1] num=[0,1,2,3]; den=poly(v); [r,p,k]=residue(num,den) 结果显示 v= -1-1-1 r= 1.0000 0.0000 2.0000 p= -1.0000 -1.0000 -1.0000 k= [] 其中由poly()命令将分母化为标准降幂排列多项式系数向量den,k=[]为空矩阵。 由上可得展开式为: (5)由传递函数求零点和极点。 在MATLAB控制系统工具箱中,给出了由传递函数对象G求出系统零点和极点的函数,其调用格式分别为: Z=tzero(G) P=G.P{1} 注意:式19中要求的G必须是零极点模型对象,且出现了矩阵的点运算“.”和大括号{}表示的矩阵元素,详细内容参阅后面章节。 例3.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.P{1} 结果显示 Z= -7 -2 P= 0 -3.0000+2.0000