系统开环阶跃响应曲线
四、 思考题
(1) 由状态空间方程转化为传递函数,是否与直接计算传递函数相等?
通过比较,可知传递函数gspo由状态空间方程转化为传递函数时,多了s的一次项,但是系数可以近似为0。传递函数gs,则完全相等。所以,状态空间方程转化为传递函数与直接计算传递函数可以认为是相等的。
(2) 通过仿真表明开环系统是否稳定?请通过极点(特征值)理论来分析。 开环系统不稳定。
根据极点理论可知,系统稳定的条件是极点均在左半平面。但是,系统有一个极点5.4042不在左半平面。因此,系统不稳定 (3) 传递函数的极点和状态方程的特征值的个数、大小是否相等?如果不相等,请解释 其原因。
传递函数gspo的极点和状态方程的特征值的个数、大小相等。但是传递函数gs的极点和状态方程的特征值个数不相等。因为存在零极点对消。
Matlab源程序:
clear all;
f1=0.001;
%实际系统参数 M=1.32; m=0.132; b=0.1; l=0.27; I=0.0032; g=9.8; T=0.02;
%求传递函数gs(输出为摆杆角度)和gspo(输出为小车位置) q=(M+m)*(I+m*l^2)-(m*l)^2; num=[m*l/q 0];
den=[1 b*(I+m*l^2)/q -(M+m)*m*g*l/q -b*m*g*l/q]; gs=tf(num,den);
numpo=[(I+m*l^2)/q 0 -m*g*l/q];
denpo=[1 b*(I+m*l^2)/q -(M+m)*m*g*l/q -b*m*g*l/q 0]; gspo=tf(numpo,denpo);
%求状态空间sys(A,B,C,D) p=I*(M+m)+M*m*l^2; A=[0 1 0 0;0 -(I+m*l^2)*b/p m^2*g*l^2/p 0;0 0 0 1;0 -m*b*l/p m*g*l*(M+m)/p 0];
B=[0;(I+m*l^2)/p;0;m*l/p]; C=[1 0 0 0;0 0 1 0]; D=[0;0];
sys=ss(A,B,C,D);
%通过传递函数求系统(摆杆角度和小车位置)的开环脉冲响应 t=0:T:5;
y1=impulse(gs,t); y2=impulse(gspo,t); figure(1);
plot(t,y2,'b',t,y1,'r'); xlabel('t/s');
ylabel('Position/m or Angle/rad'); axis([0 2 0 80]);
legend('Car Position','Pendulum Angle');