第六章控制糸统仿真 如此有 y(xn+h=y(rn+ hy(xn)+hy(xn) 2 C1+c2 202 如果取G=c17q2=b1=1,则满足上式有递推公式: +=k1+ k,=hf(n, yn) k,=hf(n+,y+ku) 其局部截断误差为O(h3)
如此有: ' 2 '' 1 ( ) ( ) ( ) ( ) 2 ! n n n n y x h y x hy x h y x + = + + 21 1 2 2 2 2 1 1, , 1 2 b c c c a a + = = = 如果取 1 2 2 21 1 , 1 2 c c a b = = = = 则 ,则满足上式有递推公式: 1 1 2 1 2 1 1 1 2 2 ( , ) ( , ) n n n n n n y y k k k hf x y k hf x h y k + = + + = = + + 其局部截断误差为 3 o h( )
第六章控制糸统仿真 如果进而考虑计算两次函数值∫(x,y),而提高截断误差阶次呢?k多展开一项: k2=hf(xn,y(x,)+(a2+b2kf)+(a2hx+2a2b2Mf+b2fm)+O(h) f(xn,y(x)+a21(1+21f,)+a2h(x+221fmf+21f/2+O(h) 而有 n1=y(x)+(c1+c2)y(xn)+a1C2h(1+,)+2a2h(mx+2f+Jmf2)+O(h) 但 y(x)=y(xn)+h(xn)+,(fx+:f力)+,(x+2Jxf+fmf2+ff,+力)+O(h) 注意 y(xn=u+f f)=f+2f f+fy f+f f +ff f 两式中的∫J,f难以消掉,因此达不到两次计算函数值f(x,y)来达到4阶精度, 为此必须增加函数值的计算
如果进而考虑计算两次函数值 f x y ( , ) ,而提高截断误差阶次呢? k2多展开一项: 1 2 2 2 2 3 2 2 21 1 2 2 21 1 21 2 2 2 3 2 4 21 21 21 2 2 2 2 2 2 1 [ ( , ( )) ( )] ( 2 ) ( ) 2 ! 1 ( , ( )) ( ) ( 2 ( ) 2 n n x y xx xy yy n n x y xx xy yy k h f x y x a hf b k f a h f a b hk f b k f o h b b b hf x y x a h f f f a h f f f f f o h a a a = + + + + + + = + + + + + + 而有 2 ' 2 2 3 2 4 21 21 21 1 1 2 2 2 2 2 2 2 2 2 1 ( ) ( ) ( ) ( ) ( 2 ) ( ) 2 n n n x y xx xy yy b b b y y x c c hy x a c h f f f c a h f f f f f o h a a a + = + + + + + + + + 但 2 3 ' 2 2 4 1 ( ) ( ) ( ) ( ) ( 2 ) ( ) 2! 3! n n n x y xx xy yy x y y h h y x y x hy x f f f f f f f f f f f f o h + = + + + + + + + + + 注意: ''' ' 2 ( ) ( ) 2 n x y xx xy yy y x y y y x f f f f f f f f f f f f f = + = + + + + 2 , x y y 两式中的 f f f f 难以消掉,因此达不到两次计算函数值 f x y ( , ) 为此必须增加函数值的计算。 来达到4阶精度
第六章控制糸统仿真 一般常用是计算4阶函数值,得到每步截断误差为O(h)的四阶 Runge-Kutta法 其递推公式为 yn+1=yn+(k1+2k2+2k3+k4) k,=hf(rn,yn) h k k2=h(xn+-,yn+=) 2 k3=h(x⊥hWy 2 2 k4=hf(xn+h,y+k3)
一般常用是计算4阶函数值,得到每步截断误差为 5 o h( ) 的四阶Runge-Kutta法 n 1 1 2 3 4 1 1 2 2 3 4 3 1 ( 2 2 ) 6 ( , ); ( , ); 2 2 ( , ); 2 2 ( , ) n n n n n n n n n y y k k k k k hf x y h k k hf x y h k k hf x y k hf x h y k + = + + + + = = + + = + + = + + 其递推公式为:
第六章控制糸统仿真 仿真算法 已知开环系统的状态方程为x=Ax+B 采用四阶龙格-库塔法进行求解和仿真,其求解步骤和方法如下: 1、由x=Ax+Bl,可知f(t,x)=Ax+B; k,=f(t,, xu) 2、根据四阶龙格-库塔法的递推公式: h k=(4+2,x+2) h k,=f(tn +o,x,+k2) 2 k 4=f(tn+h,xn+ hk +(k1+2k2+2k3+k 3、由tn+1时刻的状态为n+1,得到 ym+1=Cxn+ 取n=012…N不断递推,便可得到所需时刻各点的状态变量x(n)输出量y(tn)
= + + + + = + + = + + = + + = + ( 2 2 ) 6 ( , ) ) 2 , 2 ( ) 2 , 2 ( ( , ) n 1 1 2 3 4 4 3 3 2 2 1 1 k k k k h x x k f t h x hk k h x h k f t k h x h k f t k f t x n n n n n k n n n 2、根据四阶龙格-库塔法的递推公式: 已知开环系统的状态方程为 = = + y Cx x Ax Bu 采用四阶龙格-库塔法进行求解和仿真,其求解步骤和方法如下:: 1、由 x = Ax + Bu ,可知 f (t, x) = Ax + Bu ; 2、仿真算法 3、由 t n+1 时刻的状态为 x n+1 ,得到 n+1 = Cxn+1 y 取 n = 0,1,2, , N 不断递推,便可得到所需时刻各点的状态变量 x(t n )和输出量 y(t n )
第六章控制糸统仿真 闭环系统的模型建立 文=Ax+B C V 典型闭环控制系统的方框图 对S|S0系统r;uy,ν均为标量,由图可知=r-Vy,得 X= Ax+ b(r-vy) 又由 可得到系统的闭环状态方程:x=(A-BC)x+b=A2x+B
二、闭环系统的模型建立 典型闭环控制系统的方框图 对SISO系统r、u、y、v 均为标量,由图可知 u = r − vy ,得 x = Ax + B(r − v y) 可得到系统的闭环状态方程: x = A− BvC x + Br = A x + Br b ( ) 又由 y = Cx