matlab第5章时域与根轨迹

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

3. sgrid() 或grid()
>> sgrid >>grid 在根轨迹[GH]平面绘制阻尼比和等固有频率网格, 阻尼比从0.1到1;固有频率从0到10rad/s。
sgrid(‘new’):是先清屏,再画格线。 sgrid(z,wn):则绘制由用户指定的阻尼比矢量z、自然 振荡频率wn的格线。



1. 绘制根轨迹图

rlocus() 调用之前必须将特征方程写成下面的形式:
num 1 K 0 den
rlocus()




rlocus(num,den), rlocus(sys) rlocus(num,den,K), rlocus(sys,K) [r,K]=rlocus(num,den), [r,K]=rlocus(sys) r=rlocus(num,den), r=rlocus(sys) r=rlocus(num,den,K), r=rlocus(sys,K)
1 n 1 2
1 n
3
调节时间:取决于最靠近虚轴的闭环复数极点的实部绝对值 或实数极点的模值
Ts
n
[k,poles]=rlocfind(sys),可以求得系统所有极点

输入参量可以是LTI模型对象,函数命令执行后,可以在图 形窗口根轨迹图中显示十字形光标,当选择根轨迹上某一 点时,其相应的增益由变量K记录,与此增益相关的所有极 点记录在变量poles中,从显示的所有极点位置判断系统的 稳定性。
例子:

产生一个周期为5秒,持续时间为30秒, 采样为Βιβλιοθήκη .1秒的方波.
[u,t]=gensig('square',5,30, 0.1); plot(t,u) Axis([0,30,-0.5,1.5])
产生正弦波:


[u,t]=gensig('sin',5,30, 0.1); plot(t,u) Axis([0,30,-1.5,1.5])
rlocus(num,den);
k1=[0:0.2:4.2]; k2=[4.2:0.002:4.4]; k3=[4.4:0.02:10]; k4=[10:5:200];
k=[k1 k2 k3 k4];
r=rlocus(num,den,k); plot(r,'o') v=[-5 1 -5 5];axis(v)
2. 稳态值
1 bm y () lim sG ( s ) G(0) s 0 s an
1 y ( ) lim sG ( s ) lim C ( sI A) 1 B D CA1B D s 0 s s 0
K=dcgain(num,den)%k为稳态增益,即: 当s趋近于零时num(s)/den(s)=k 对于状态空间 K=dcgain(a,b,c,d)
p1t
r2e
p2t
rne
pnt



因此,可以通过G(s)*R(s)的部分分式展开而求出系 统的解析解。 求留数函数[r,p,k]=residue(num,den)可以得出各系 数。 请注意,此解法得出的是解析解,而不是数值解。
系统有重极点的计算

传递函数G(s)的第j个极点Pj是m重的,则展开中含 有下面各项: rj rj 1 rj m1 2 s p j (s p j ) ( s p j )m
5.1 系统动态及稳态性能的时域分析 1. 稳定性分析MATLAB实现的方法
MATLAB提供了直接求取系统所有零极点的函数,因此 可以直接根据零极点的分布情况对系统的稳定性及是否 为最小相位系统进行判断。
roots()、 pzmap()
已知开环传函
对系统闭环稳定性判别
[n1,d1]=zp2tf(z,p,k) n1 = 0 d1 =
第五章 时域分析、零极点分析和根轨迹法
获得控制系统的瞬态响应和稳态响应 对系统的瞬态和稳态性能分析 根轨迹绘制和分析
产生信号gensig()


[u,t]=gensig(type,Ta) [u,t]=gensig(type,Ta,Tf,T) Type:信号序列.sin正弦;square方波;pulse脉 冲 Ta:信号周期 Tf:信号的持续时间 T:采样时间
1+K*(num/den)=0
r=复根向量 K=增益向量
[r,K]=rlocus(num,den)
s 1 1 K 3 0 2 s 5s 6s
例5-5
R(s) -
K(s+1) s(s+2)
C(s)
1 (s+3) >> num=[1 1];den=[1 5 6 0];rlocus(num,den) >> [r,k]=rlocus(num,den)
>> sys1=zpk(sys)
Zero/pole/gain: 100 (s+2) -----------------------(s+12.9) (s+5) (s+3.101) >> sys1.p{1} ans = -12.8990 -5.0000 -3.1010 >> G=ss(sys) >> eig(G.a)
例5-6 特定的根对应的增益K
Select a point in the graphics window selected_point = -0.3212 + 0.0000i k= 2.1281 poles = >> rlocus(num,den) >> [k,poles]=rlocfind(num,den)
3. 稳态误差 目标值与稳态响应之差, ess lim e(t ) lim sE (s) 称为稳态误差。 t s 0
单位阶跃响应
ess 1 h()
单位斜坡响应
ess t y
4. 峰值时间Tp和超调量
Tp:0到阶跃响应曲线h(t) 超过稳态值而达第一个峰值之 间的时间
看个例子:

例子:已知一个单位负反馈系统开环传递函数为G(s),试在系统 闭环的根轨迹图上选择一点,求出该点的增益及系统的闭环极点, 并判断在该点系统闭环的稳定性。 ( s 3) G( s) k s ( s 5)(s 6)(s 2 2 s 3)
num=[1 3]; den=conv(conv(conv([1 0],[1 5]),[1 6]),[1 2 3]); sys=tf(num,den); rlocus(sys) [k,poles]=rlocfind(sys) title('根轨迹图') xlabel('实轴 ') ylabel('虚轴 ')
toolviewer.html



利用根轨迹设计工具可查看某个K值的阶跃响应曲线, BODE图,NYQUIST图,脉冲响应曲线等 根轨迹表明参数(增益)变化的影响。实际中,只调整 增益不能获得所希望的性能。因此必须通过引入适当的 校正环节,来改造原来的根轨迹。 增加零极点,对根轨迹的影响,由此构成校正环节。 应用的实质是通过采用校正环节改变根轨迹,从而将一 对主导闭环极点配置在需要的位置。
tp =
3.0920 ts = 4.6380
5.3 系统时域响应的解析解算法

部分分式展开方法

传递函数G(s)含有n个互异极点,可展开为部分 分式: r1 r2 rn G( s) s p1 s p2 s pn 将其Laplace逆变换,得输出:

g (t ) r 1e
[k,poles]=rlocfind(num,den) n1=k*num;syso=tf(n1,den) sys=feedback(syso,1)
figure(2)
step(sys) n=n+1 end
例5-7
num=[0 0 1 0.4]; den=[1 3.6 0 0]; r=rlocus(num,den); plot(r,'o')
1 P= 1 21 120 200
100( s 2) G( s) s( s 1)(s 20)
>> roots(P) ans = -12.8990 -5.0000 -3.1010
k=100;z=[-2];p=[0,-1,-20];
0 100 200
21 20 0
>> P=n1+d1
G=tf(n1,d1) sys=feedback(G,1) Transfer function: 100 s + 200 -------------------------s^3 + 21 s^2 + 120 s + 200 >> roots(sys.den{1}) ans = -12.8990 -5.0000 -3.1010
>> r=rlocus(num,den,10)
r= -2.1056 + 2.8714i -2.1056 - 2.8714i -0.7887
2. rlocfind()


了解特定的复根对应的增益K的取值 只有运行了rlocus函数并得到根轨迹后,才 能合法调用 运行rlocfind函数后,MATLAB会在根轨迹图 上产生‘+’提示符,通过鼠标将提示符移 动到根轨迹相应的位置确定,所选的K值就 会在命令窗口显示
1.25 G(s) 2 s s
sigma = 20.9121 tp = 3.0920 >> yss
yss =
0.9987
5. 调节时间Ts
Ts:进入稳态值附近±5%或±2%的误差带而不 再超出的最小时间
if t2<tp cs=length(t) j=cs+1; if t1>t2 i=cs+1; n=0; n=0; ts=t1 while n==0,j=j-1; while n==0,i=i-1; end if j==1,n=1; if i==1,n=1; elseif y(j)<0.95*yss elseif t2>tp elseif y(i)>1.05*yss if t2<t1 n=1; n=1; ts=t2 end end else ts=t1 end end end t2=t(j); t1=t(i); end
对应的Laplace逆变换为:

rj e
p jt
rj 1te
p jt
rj m1t
m 1
m 1 p j t
e
( rj rj 1t rj m1t
)e
p jt
5.4 根轨迹分析法
根轨迹:开环系统的某一参数从零变到无穷 大时,闭环系统特征方程的根在s平面的轨 迹。应用MATLAB可以绘制精确的根轨迹图, 我们可以采用根轨迹法对控制系统进行设计 和校正。 绘制根轨迹图 根轨迹分析 校正装置
sys=tf(1.25,[1 1 0]) Gc=feedback(sys,1) [y,t]=step(Gc)
y m y ( ) % 100% y ( )
[mp,tf]=max(y); cs=length(t);
yss=y(cs);
sigma=100*(mp-yss)/yss tp=t(tf)
例5-9
num=1; den=conv([0.01 1 0],[0.02 1]);
rlocus(num,den) sgrid
同样可以 rlocus(num,den),grid
4. 基于根轨迹的系统设计工具

rltool rltool(g) g为系统,例如 g=tf(num.den)
图形用户界面系统设计工具(SISO Design for System FeedbackConfig)
1.25 G(s) 2 s s

G为系统开环传递函数,求 超调量sigma,峰值时间tp和 调节时间ts
sigma = 20.9121



global y t sys1=tf(1.25,[1 1 0]) sys=feedback(sys1,1) [y,t]=step(sys); [sigma,tp,ts]=ste(y,t)
Anysis,other loop response
系统性能的分析

闭环主导极点
稳定性:根轨迹在s的左半平面,稳定 稳态误差:由原点的开环极点个数决定 动态性能:

n
n
j
1 arccos
0
运动形式:闭环极点均为实数极点,单调, 闭环极点均为复数极点,振荡 超调量:取决于闭环主导极点的衰减率
-2.3394 + 1.0735i
-2.3394 - 1.0735i
-0.3212
计算不同K值时的 单位阶跃响应
num=[1 1];den=[1 5 6 0]; rlocus(num,den) n=0;
while n<3
figure(1)
系统零点对瞬态 响应的作用,减 弱了实数极点的 影响,主导极点为 复极点。
相关文档
最新文档