第六拿 统访真 61状态空间法的系统仿真 62非线性环节的仿真 63离散系统的伤直 645MUNK真
第六章 控制系统仿真 6.1 状态空间法的系统仿真 6.2 非线性环节的仿真 6.3 离散系统的仿真 6.4 SIMULINK仿真
第六章控制糸统仿真 控制系统仿真 信号流图 单输入单输出系统 (SISO) 状态空间 多输入多输出系统 (MIMO) 主要研究内容 通过系统的数学模型和计算方法,编写程序运算语句,使之能自动求 解各环节变量的动态变化情况,从而得到关于系统输岀和所需要的中间各 变量的有关数据、曲线等,以实现对控制系统性能指标的分析与设计。 实现步骤 根据数学模型、要求 按算法要求通过分解、 用合适的开发语 上机调试并不断改进, 的精度和时间,确定 综合、等效变换等方 言进行算法编程 满足系统各项动态性能 数值计算方法 法转换成适于在计算 指标,并得到理想的仿 机上运行的公式 和实现 真结果
控 制 系 统 仿 真 信号流图 状态空间 单输入单输出系统 (SISO) 主要研究内容 通过系统的数学模型和计算方法,编写程序运算语句,使之能自动求 解各环节变量的动态变化情况,从而得到关于系统输出和所需要的中间各 变量的有关数据、曲线等,以实现对控制系统性能指标的分析与设计。 实现步骤 根据数学模型、要求 的精度和时间,确定 数值计算方法 按算法要求通过分解、 综合、等效变换等方 法转换成适于在计算 机上运行的公式 上机调试并不断改进, 满足系统各项动态性能 指标,并得到理想的仿 真结果 用合适的开发语 言进行算法编程 和实现 多输入多输出系统 (MIMO)
第六章控制糸统仿真 6.1状态空间法的系统仿真 、四阶龙格-库塔( Runge- Kutta)法 1、 Runge-Kutta法推导 h2 h 为了提高精度,用阶展开计算公式:ym+1=yn+加+n+) 2! 实际上yn,可以由对∫(x,y)求导得到 y=f +ff y=fx+fy.f+ov+f,f).f+f (+ff fn+2fn·f+f·f,+fn·f2+f2·f 高阶微商就更复杂了
6.1 状态空间法的系统仿真 一、四阶龙格-库塔(Runge-Kutta)法 1、Runge-Kutta法推导 '' n 实际上 y ,可以由对 f x y ( , ) 求导得到 '' ''' 2 2 ( ) ( ) 2 x y xx xy xy yy y x y xx xy x y yy y y f f f y f f f f f f f f f f f f f f f f f f f f = + = + + + + + = + + + + 高阶微商就更复杂了。 为了提高精度,用r阶展开计算公式: 2 ' '' ( ) 1 2! ! r r n n n n n h h y y hy y y r + = + + + +
第六章控制糸统仿真 我们考虑计算不同点上f(x,y)的值,由欧拉公式: y+hf(rn,yn) 用高阶差分代替各级导数这一思想得到各阶 Runge- Kutta法, k1=hf(xn,yn)计算不同点上的函数值的线性组合 定义运算格式为: 机f(xn+ahy+∑bk 为待定参数 由式(1)用次重新整理得ym=yn+∑ck 通过台劳展开得 yO x, +h)=y(n)+hy(xn)+hy(xn)+ 2 相比较系数,尽可能重合到较高幂次,而求得待定参数
我们考虑计算不同点上 f x y ( , ) 的值,由欧拉公式: 用高阶差分代替各级导数这一思想得到各阶Runge-Kutta法。 定义运算格式为: 1 ( , ) n n k hf x y = 1 1 ( , ), 1,2, i i n i n ij j j k hf x a h y b k i n − = = + + = 计算不同点上的函数值的线性组合 , , i ij i a b c 为待定参数 由式(1)用h幂次重新整理得 1 1 n n n i i i y y c k + = = + 通过台劳展开得 1 ( , ) n n n n y y hf x y + = + (1) ' 2 '' 1 ( ) ( ) ( ) ( ) 2 ! n n n n y x h y x hy x h y x + = + + + 相比较系数,尽可能重合到较高幂次,而求得待定参数
第六章控制糸统仿真 以i=2为例,只计算两次函数f(x,y)的值。 h+1一 yn+CK,+c,k2 k,=hf(n,yn) k2=hf(n+a2h, yn+b2k) 如何求出G,C2a2b21四个系数,将k12k2在(xn,yn)点展开 k,=hf(n, yn)=hy (x k2=(xn+a2h,yn+b2k)=hf(x,y(x,)+a2byx+b2:k,]+o(h2) f,J,为在xn,yn处取值 ml=y(xn)+(C,+C2 hy(xn)+c,a,h(f +fk)+o(h)
以i=2为例,只计算两次函数 f x y ( , ) 的值。 1 1 1 2 2 1 2 2 21 1 ( , ) ( , ) n n n n n n y y c k c k k hf x y k hf x a h y b k + = + + = = + + 1 2 2 21 c c a b , , , 1 2 k k, ( , ) n n 如何求出 四个系数,将 在 x y 点展开 ' 1 ( , ) ( ) n n n k hf x y hy x = = 3 2 2 21 1 2 21 1 ( , ) [ ( , ( )) ] ( ) n n n n x y k hf x a h y b k h f x y x a hf b k f o h = + + = + + + , x y f f , n n 为在 x y 处取值 则 ' 2 3 21 1 1 2 2 2 1 2 ( ) ( ) ( ) ( ) ( ) n n n x y b y y x c c hy x c a h f f k o h a + = + + + + +