控制工程大作业
题目:用MATLAB绘制G(s)的伯德图和奈奎斯特图并判断系统的稳定性,如果是稳定的则需要求出其在当输入信号等为1(t),t和t2/2时系统的稳态误差。
G(s)?10(s?3)2s(s?2)(s2?2??ns??n)其中2??n?学号的后四位
?n?学号的后两位传递函数:G(s)=10(S+3)/S(S+2)(S*S+√2818S+18*18)
一、波德图和奈氏图
表达式的求解:
clc s=tf('s')
Gk=10*(s+3)/s/(s+2)/(s^2+sqrt(2818)*s+18^2); Gb=feedback(Gk,1)%求闭环函数 G1=Gb*1/s; G2=Gb*1/s^2; G3=Gb*1/s^3; syms s
g1=ilaplace(10*(s+3)/s^2/(s+2)/(s^2+sqrt(2818)*s+18^2)) g2=ilaplace(10*(s+3)/s^3/(s+2)/(s^2+sqrt(2818)*s+18^2)) g3=ilaplace(10*(s+3)/s^4/(s+2)/(s^2+sqrt(2818)*s+18^2))
二、时间响应
⑴输入信号为阶跃信号时的时间响应
g1 = (5*t)/108
-
(5*exp(-2*t))/(4*2818^(1/2)
-
656)
- (5*2818^(1/2))/34992 (exp(-(2818^(1/2)*t)/2)*(275*2818^(1/2)
-
6775)*(cosh((2^(1/2)*761^(1/2)*t)/2)
(2^(1/2)*761^(1/2)*sinh((2^(1/2)*761^(1/2)*t)/2)*(2818^(1/2)/2 +
(5965*2818^(1/2)
685850)/(275*2818^(1/2) - 6775)))/761))/(17496*2818^(1/2) - 2869344) - 5/648
时间响应图
- - -
⑵ 输入信号为斜坡信号时的时间响应 g2 =
(5*exp(-2*t))/(8*2818^(1/2) - 1312) + (5*2818^(1/2))/209952 + (5*t^2)/216 - t*((5*2818^(1/2))/34992 + 5/648)
-
(exp(-(2818^(1/2)*t)/2)*(5965*2818^(1/2)
-
685850)*(cosh((2^(1/2)*761^(1/2)*t)/2)
+
(596750*2818^(1/2)
- -
(2^(1/2)*761^(1/2)*sinh((2^(1/2)*761^(1/2)*t)/2)*(2818^(1/2)/2
时间响应图
14614270)/(5965*2818^(1/2) - 685850)))/761))/(5668704*2818^(1/2) - 929667456) + 28105/5668704
⑶ 输入信号为单位加速度信号时的时间响应 g3 =
(5*t^3)/648
-
(t^2*((5*2818^(1/2))/34992
-
2624)
+ + -
5/648))/2
-
(27295*2818^(1/2))/1836660096
+
28105/5668704)
- - -
(5*exp(-2*t))/(16*2818^(1/2) t*((5*2818^(1/2))/209952
(exp(-(2818^(1/2)*t)/2)*(298375*2818^(1/2) 7307135)*(cosh((2^(1/2)*761^(1/2)*t)/2)
(2^(1/2)*761^(1/2)*sinh((2^(1/2)*761^(1/2)*t)/2)*((6340805*2818^(1/2) - 729713050)/(298375*2818^(1/2) - 7307135) + 2818^(1/2)/2))/761))/(918330048*2818^(1/2) - 150606127872) - 71845/34012224
时间响应图
从上述波德图和奈氏图可以看出此传递函数是稳定的。
三、稳态误差
①阶跃输入时的求稳态误差程序 >> clc
num=[10 30];
den=[1 55.08 430.2 658 30]; t=0:0.1:200;
u=ones(1,2001);%单位阶跃输入信号 y=lsim(num,den,u,t);%求时间响应 plot(t,y,'g'); grid
title('The step responce') xlabel('time-sec') legend('单位阶跃')
kv1=dcgain(num,den)%求稳态误差 ess1=1/kv1
稳态误差ess1=0
②斜坡输入时求稳态程序
clc
num=[10 30];
den=[1 55.08 430.2 658 30]; t=0:0.1:100; u=t;
y1=lsim(num,den,u,t); plot(t,y1,'g'); grid
title('The step responce') xlabel('time-sec') legend('斜坡输入') kv2=dcgain(num,den) ess2=1/kv2
稳态误差ess2=21.6
③单位加速度输入时求稳态程序
clc
num=[10 30];
den=[1 55.08 430.2 658 30]; t=0:0.1:100; u=0.5.*t.^2;
y1=lsim(num,den,u,t); plot(t,y1,'g'); grid
title('The step responce') xlabel('time-sec') legend('t^2/2输入') kv3=dcgain(num,den) ess3=1/kv3
稳态误差ess3=无穷
感想:通过此次作业,让我掌握了一项新的技能学会如何使用matlab软件,并且在不懂的时候查书又从书上收获了许多新的知识。这门课虽然听起来很难但是只要用心学,还是能学到许多东西,让我对机械系统有了一个初步的了解。
建议:希望老师可以多布置一些课堂作业,调动我们的积极性,在课堂和老师的交流中能及时发现自己知识上的漏洞或错误。并且也能及时检验我们自己的听课效率。