自动控制课程设计.docx
《自动控制课程设计.docx》由会员分享,可在线阅读,更多相关《自动控制课程设计.docx(15页珍藏版)》请在冰豆网上搜索。
自动控制课程设计
附录
附录一时域分析
例1已知二阶系统的传递函数为:
当ωn=1时,试计算ξ从0.1变至1时二阶系统的响应,并绘制一簇阶跃响应曲线。
程序及结果如下:
%zeta与时域响应关系
%
num=1;y=zeros(200,1);i=0;
forbc=0.1:
0.1:
1
den=[1,2*bc,1];
t=[0:
0.1:
19.9]';
sys=tf(num,den);
i=i+1;
y(:
i)=step(sys,t);
end
mesh(flipud(y),[-10020])
例2已知二阶系统为:
,
c={1,2,4},k={1.25,2,29}
试绘制该系统所对应的三组不同参数下的阶跃响应曲线(在同一坐标下)。
程序及结果如下:
c=[124];
k=[1.25229];
t=linspace(0,10,100)';
forj=1:
3
num=k(j);
den=[1c(j)k(j)];
sys=tf(num,den);
y(:
j)=step(sys,t);
end
plot(t,y(:
1:
3)),grid
gtext('a=1b=1.25'),
gtext('a=2b=2'),
gtext('a=4b=29')
例22已知单位反馈系统开环传函为:
试绘制k=1.4,2.3,3.5时单位阶跃响应曲线(在同一坐标下)。
%作出不同开环增益时的阶跃响应曲线,并求某一K值时的性能指标
num=1;den=conv(conv([10],[0.51]),[4,1]);
rangek=[1.42.33.5];
t=linspace(0,20,200)';
fori=1:
3
s1=tf(num*rangek(i),den);
sys=feedback(s1,1);
y(:
i)=step(sys,t);
end
plot(t,y(:
1:
3)),grid
gtext('k=1.4'),
gtext('k=2.3'),
gtext('k=3.5')
例3设控制系统开环传递函数为:
,
试绘制该闭环系统的单位阶跃响应曲线,并计算系统的性能指标。
程序及结果如下:
%
%计算时域性能指标(tp,ess,b1,b2,sigma,n,阻尼比,T,f)
globalyt
sys=tf(1.25,[110]);
Gc=feedback(sys,1);
step(Gc);
[y,t]=step(Gc);
[mp,tf]=max(y);
tp=t(tf);
ct=length(t);
tm=max(t);
yss=y(ct);
q=1;
m=q-1;
whilem<3,
fora=(tm/100):
.01:
tm
j=[0:
a:
tm];
fori=1:
length(j);
if(y(i+1)-y(i))<0&(y(i)-y(i-1))>0,
m=m+1;
pm(m)=y(i);
tp(m)=t(i);
end
end
end
end
yss=y(ct);ess=1-yss;
b1=pm
(1)-yss;
b2=pm
(2)-yss;
sigma=100*b1/yss;
n=b1/b2;
pusi=(b1-b2)/b1;
T=(tp
(2)-tp
(1));
f=1/T;
结果:
yss=0.99871,ess=0.0012948,b1=0.20885,b2=0.01027,sigma=20.912n=20.336,pusi=0.95083,T=6.2945,f=0.15887
例4已知系统开环传递函数为:
,试对系统的稳定性进行判断。
程序及结果如下:
k=100;
z=[-2];
p=[0,-1,-20];
[n1,d1]=zp2tf(z,p,k);
P=n1+d1;
roots(P)
根为ans=
-12.8990
-5.0000
-3.1010
特征根实部均为负值,所以闭环系统稳定。
例5已知单位反馈开环零极点增益模型为:
,
试绘制该系统单位斜坡响应曲线,并计算单位斜坡响应的稳态误差。
解:
1)判稳:
(用roots()函数)
%P214L4-16J1
k=6;z=-0.5;p=[-210];
[n1,d1]=ZP2TF(z,p,k);
s=tf(n1,d1);
sys=feedback(s,1);
roots(sys.den{1})
ans=
-0.1084+1.9541i
-0.1084-1.9541i
-0.7832
所有根均有负实部,故闭环系统稳定。
2)求单位阶跃响应曲线及稳态误差:
%P214L4-16J2
k=6;
z=-0.5;
p=[-210];
[n1,d1]=zp2tf(z,p,k);
s=tf(n1,d1);
sys=feedback(s,1);
t=[0:
0.1:
30]';
y=step(sys,t);
subplot(121),plot(t,y),grid
es=1-y;
subplot(122),plot(t,es),grid
单位阶跃响应曲线及其误差响应曲线
3)求单位斜坡响应曲线及稳态误差:
%
%求单位斜坡响应曲线及稳态误差
k=6;
z=-0.5;
p=[-210];
[n1,d1]=zp2tf(z,p,k);
s=tf(n1,d1);
sys=feedback(s,1);
t=[0:
0.1:
50]';
num=sys.num{1};
den=[sys.den{1},0];
sys=tf(num,den);
y=step(sys,t);
subplot(121),plot(t,[ty]),grid
es=t-y;
subplot(122),plot(t,es),grid
ess=es(length(es))
ess=
-0.6678
单位斜坡响应曲线及其误差响应曲线
附录二根轨迹分析
例1已知一单位反馈系统开环传函为
试在根轨迹上选择一点,求出该点的增益k及其闭环极点的位置,并判断在该点系统的稳定性。
程序:
num=[1,3];
den=conv(conv(conv([10],[15]),[16]),[122]);
rlocus(num,den);
[k,poles]=rlocfind(sys);
range=[33:
1:
37]';
cpole=rlocus(num,den,range);
[range,cpole]
结果:
selected_point=
-5.3780-0.0476i
ans=
Columns1through5
33.0000-5.5745+0.6697i-5.5745-0.6697i-1.7990-0.0260+1.3210i
34.0000-5.5768+0.6850i-5.5768-0.6850i-1.8154-0.0155+1.3340i
35.0000-5.5791+0.7001i-5.5791-0.7001i-1.8313-0.0052+1.3467i
36.0000-5.5815+0.7147i-5.5815-0.7147i-1.84660.0048+1.3591i
37.0000-5.5838+0.7291i-5.5838-0.7291i-1.86150.0146+1.3712i
Column6
-0.0260-1.3210i
-0.0155-1.3340i
-0.0052-1.3467i
0.0048-1.3591i
0.0146-1.3712i
>>
例2已知带有延迟因子的系统开环传递函数为:
1)试绘制根轨迹图;
2)求系统临界稳定时根轨迹增益;
3)求系统k=0.5时单位阶跃响应曲线。
程序:
n1=[1];
d1=conv(conv([10],[11]),[0.51]);
%s1=tf(n1,d1);
[np,dp]=pade(1,3);
G=tf(n1,d1)*tf(np,dp);figure
(1);
rlocus(G);holdon
[k,p]=rlocfind(G);
%sys=feedback(G,1);figure
(2)
%step(sys);
selected_point=
-2.7605-0.1612i
附录三频域分析
例1已知单位负反馈系统前向通道的传递函数为:
试绘制出Bode图并计算系统的频域性能指标。
程序及结果如下:
num=[00281282];den=[151010510];
sys=tf(num,den);
[mag,phase,w]=bode(sys);
[gm,pm,wcp,wcg]=margin(mag,phase,w);
margin(mag,phase,w)
kg=20*log(gm)
结果:
gm=332.17,pm=38.692,wg=25.847,wc=1.249
kg=50.4272
例2已知一带延迟因子的系统开环传函为:
,
试求其有理传递函数的频率响应,同时在同一坐标中绘制以Pade近似延迟因子式系统的Bode图,并求此时系统的频域性能指标。
程序及结果如下:
n1=[1050];
d1=conv([13],[13]);
s1=tf(n1,d1);
w=logspace(-1,2);
[mag1,phase1]=bode(n1,d1,w);
[np,dp]=pade(0.8,4);
%s1=tf(n1,d1)*tf(np,dp);
numt=conv(n1,np);
dent=conv(d1,dp);
s2=tf(numt,dent);
[mag2,phase2]=bode(numt,dent,w);
subplot(211);
semilogx(w,20*log10(mag1),w,20*log10(mag2),'r--');gridon
title('bodeplot');
xlabel('Frequency(rad/sec)');
ylabel('Gaindb');
subplot(212);grid
semilogx(w,phase1,w,phase2,'r--');gridon
xlabel('Frequency(rad/sec)');
ylabel('Phasedeg');
[gm1,pm1,wcp1,wcg1]=margin(s1);
[gm2,pm2,wcp2,wcg2]=margin(s2);
例3已知两个单位负反馈系统开环传递函数分别为:
,
试用Bode图法判断闭环系统的稳定性。
程序如下:
num1=[0002.7];
den1=[1540];
sys1=tf(num1,den1);
figure
(1);holdon
[gm,pm,wcp,wcg]=margin(sys1);
margin(sys1);
title('对数频率特性图1');
xlabel('频率rad/sec');
ylabel('GaindB');
num2=[0002.7];
den2=[15-40];
sys2=tf(num2,den2);
figure
(2);
[gm,pm,wcp,wcg]=margin(sys2);
margin(sys2);
title('对数频率特性图2');
xlabel('频率rad/sec');
ylabel('GaindB');
结论:
系统1稳定,系统2不稳定(Warning:
Theclosed-loopsystemisunstable.)