1、(2) 由于方法1:将转换为近似多项式。s=tf(s);G=(24*s+36)/(s2*(s+1)3);num,den=pade(2,2);G1=feedback(tf(num,den)*G,1)结果: 24 s3 - 36 s2 - 36 s + 108-s7 + 6 s6 + 15 s5 + 19 s4 + 36 s3 - 33 s2 - 36 s + 108方法2:将G*Gc/(1+G*Gc*H)中的分母中的G1=feedback(G,tf(num,den);G1.iodelay=2 24 s3 + 108 s2 + 180 s + 108exp(-2*s) * - s7 + 6 s6
2、+ 15 s5 + 19 s4 + 36 s3 - 33 s2 - 36 s + 1082. 假定系统为:请检查该系统是否为最小实现,如果不是最小实现,请从传递函数的角度解释该模型为何不是最小实现,并求其最小实现。A=-9 -26 -24 0;1 0 0 0;0 1 0 0;0 1 1 -1;B=1;0;0;C=0 1 1 2;D=0;G=ss(A,B,C,D);sys=tf(G)Gmin=minreal(sys) G1=ss(Gmin)sys=zpk(G)传递函数表示: s2 + 4 s + 3-s4 + 10 s3 + 35 s2 + 50 s + 24 最小实现后的传递函数模型: 1-s
3、2 + 6 s + 8最小实现后的状态方程:a = x1 x2 x1 -6 -2 x2 4 0b = u1 x1 0.5 x2 0c = y1 0 0.5d = y1 0Continuous-time model.不是最小实现的原因是分子分母没有对消Zero/pole/gain: (s+1) (s+3)-(s+1) (s+2) (s+3) (s+4)3. 双输入双输出系统的状态方程:(1)试将该模型输入到MATLAB空间,并求出该模型相应的传递函数矩阵。(2)将该状态空间模型转化为零极点增益模型,确定该系统是否为最小实现模型。如果不是,请将该模型的传递函数实现最小实现。(3)若选择采样周期为,
4、求出离散后的状态方程模型和传递函数模型。(4)对离散的状态空间模型进行连续变化,测试一下能否变回到原来的系统。A=2.25 -5 -1.25 -0.5;2.25 -4.25 -1.25 -0.25;. 0.25 -0.5 -1.25 -1;1.25 -1.75 -0.25 -0.75;B=4 6;2 4;2 2;0 2;C=0 0 0 1;0 2 0 2;D=0 0; 0 0;G=ss(A,B,C,D)Gtf=tf(G) x1 x2 x3 x4 x1 2.25 -5 -1.25 -0.5 x2 2.25 -4.25 -1.25 -0.25 x3 0.25 -0.5 -1.25 -1 x4 1.
5、25 -1.75 -0.25 -0.75 u1 u2 x1 4 6 x2 2 4 x3 2 2 x4 0 2 y1 0 0 0 1 y2 0 2 0 2 y1 0 0 y2 0 0Transfer function from input 1 to output. s2 + 3 s + 2.25 #1: - s4 + 4 s3 + 6.25 s2 + 5.25 s + 2.25 4 s3 + 14 s2 + 22 s + 15 #2: -Transfer function from input 2 to output. 2 s3 + 6.5 s2 + 7.75 s + 3.75 - 12 s3
6、+ 32 s2 + 37 s + 17Gtf=zpk(G)sys=minreal(Gtf)Zero/pole/gain from input 1 to output. (s+1.5)2 - (s+1.5)2 (s2 + s + 1) 4 (s+1.5) (s2 + 2s + 2.5) -Zero/pole/gain from input 2 to output. 2 (s+1.5) (s2 + 1.75s + 1.25) - 12 (s+1) (s2 + 1.667s + 1.417) -说明不是最小实现模型,最小实现模型如下: - (s2 + s + 1) 4 (s2 + 2s + 2.5)
7、 - (s+1.5) (s2 + s + 1) 2 (s2 + 1.75s + 1.25) -(3)G1=ss(A,B,C,D);G2=tf(G1);s1=c2d(G1,0.1)s2=c2d(G2,0.1) x1 1.192 -0.4455 -0.1013 -0.04215 x2 0.2008 0.6124 -0.1058 -0.01884 x3 0.01526 -0.03499 0.8849 -0.09054 x4 0.1147 -0.1622 -0.01973 0.9279 x1 0.3833 0.5527 x2 0.1906 0.3694 x3 0.1879 0.1764 x4 0.00
8、4833 0.1927Sampling time: 0.1Discrete-time model. 0.004833 z3 - 0.003645 z2 - 0.004467 z + 0.003463 - z4 - 3.617 z3 + 4.908 z2 - 2.962 z + 0.6703 0.3908 z3 - 1.038 z2 + 0.9242 z - 0.2754 0.1927 z3 - 0.5181 z2 + 0.465 z - 0.1392 1.124 z3 - 3.078 z2 + 2.817 z - 0.8611(4)s1=c2d(G,0.1);sys1=d2c(s1) x4 1
9、.387e-015 24. 假设系统的传递函数模型为:系统状态的初始值为,假设系统的输入为。(1)将该传递函数模型转化为状态空间模型。(2)利用公式 求解的状态以及系统输出的解析解。(3)根据上述的解析解作出时间区间的状态以及系统输出曲线。(4)采用lsim函数方法直接作出时间区间的状态以及系统输出曲线,并与(3)的结果作比较。num=1 2;den=1 2 2;G=tf(num,den);sys=ss(G) x1 -2 -2 x2 1 0 x1 2 y1 0.5 1于是系统的状态空间方程为:syms t t1 xA=-2 -2;1 0;B=2;C=0.5 1;x0=1;-2;C1=expm(
10、A*t);C2=int(expm(A*(t-t1)*B*exp(-2*t1),t1,0,t);x=C1*x0+C2;x1=x(1,:)x2=x(2,:y=C*xx1 =exp(-t)*cos(t)+3*exp(-t)*sin(t)-2*(cos(t)2+sin(t)2-cos(t)*exp(t)/exp(t)2x2 =-exp(-t)*sin(t)-2*exp(-t)*cos(t)+(cos(t)2+sin(t)2+exp(t)*sin(t)-cos(t)*exp(t)/exp(t)2y =-3/2*exp(-t)*cos(t)+1/2*exp(-t)*sin(t)-(cos(t)2+sin(
11、t)2-cos(t)*exp(t)/exp(t)2+(cos(t)2+sin(t)2+exp(t)*sin(t)-cos(t)*exp(t)/exp(t)2y=C*x;m=0:0.1:10;x=subs(x,t,m);%给syms定义的变量t赋值y=subs(y,t,m);plot(m,x1,m,x2,m,y);legend(x1,x2ygrid ont=0:u=exp(-2*t);y,x=lsim(A,B,C,D,u,t,x0);plot(t,x(:,1),t,x(:,2),t,y);5. 已知矩阵(1)取,利用expm(At)函数绘制求的状态转移矩阵,看运行的速度如何?(2)采用以下程序绘制的状态转移矩阵的曲线,看运行的速度如何?A=0 1 -1;-2 -3 3;2 1 -2;2;Nt=length(t);for k=1:Nt F(:,:,k)=expm(A*t(k); endz=reshape(F,9,Nt);plot(t,z)gridtitle(系统的状态转移矩阵syms t-2 3 3;Q=expm(A*t)计算结果复杂,速度慢!
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1