第3 章 利用MATLAB 进行时域分析 本章内容包含以下三个部分:基于MATLAB的线性系统稳定性分析、基于MATLAB的线性系统动态性能分析、和 MATALB进行控制系统时域分析的一些其它实例。 一、 基于MATLAB的线性系统稳定性分析 线性系统稳定的充要条件是系统的特征根均位于S平面的左半部分。系统的零极点模型可以直接被用来判断系统的稳定性。另外,MATLAB语言中提供了有关多项式的操作函数,也可以用于系统的分析和计算。 (1)直接求特征多项式的根 设 p为特征多项式的系数向量,则 MATLAB函数 roots()可以直接求出方程 p=0在复数范围内的解 v,该函数的调用格式为: v=roots(p) 例 3.1 已知系统的特征多项式为: 123235xxxx 特征方程的解可由下面的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.0000 -0.0000 3.0000 2.0000 1.0000 1.0000 由此可见,函数 roots()与函数 poly()是互为逆运算的。 (3)多项式求值 在MATLAB 中通过函数polyval()可以求得多项式在给定点的值,该函数的调用格式为: polyval(p,v) 对于上例中的p值,求取多项式在x点的值,可输入如下命令: >> p=[1,0,3,2,1,1]; x=1 polyval(p,x) 结果显示 ans = 8 (4)部分分式展开 考虑下列传递函数: nnnnnnasasabsbsbdennumsNsM110110)()( 式中0a0,但是ia 和jb 中某些量可能为零。 MATLAB函数可将)()(sNsM展开成部分分式,直接求出展开式中的留数、极点和余项。该函数的调用格式为: ),(,,dennumresiduekpr 则)()(sNsM的部分分式展开由下式给出: )()()()2()2()1()1()()(sknpsnrpsrpsrsNsM 式中1)1(pp,2)2(pp,…, npnp)(,为极点, 1)1(rr,2)2(rr,…, nrnr)(为各极点的留数,)(sk为余项。 例3.2 设传递函数为:...