1第三章连续系统的数字仿真.ppt
文本预览下载声明
第三章 连续系统的数字仿真 用数字计算机来仿真或模拟一个连续控制系统的目的就是求解系统的数学模型。由控制理论知,一个n阶连续系统可以被描述成由n个积分器组成的模拟结构图。因此利用数字计算机来进行连续系统的仿真,从本质上讲就是要在数字计算机上构造出n个数字积分器,也就是让数字计算机进行n次数值积分运算。可见,连续系统数字仿真中的最基本的算法是数值积分算法。 3.1 数值积分法 连续系统通常把数学模型化为状态空间表达式,为了对n阶连续系统在数字计算机上仿真及求解,就要采用数值积分法来求解系统数学模型中的n个一阶微分方程。 设n阶连续系统由以下n个一阶微分方程组成 (3-1) 所谓数值积分法,就是要逐个求出区间[a ,b]内若干个离散点a≤ t0 t1… tn≤b处的近似值x(t1),x(t2),…,x(tn)。 3.1.1 欧拉法 欧拉法又称折线法或矩形法,是最简单也是最早的一种数值方法 将式(3-1)中的微分方程两边进行积分,得 即 通常假设离散点t0,t1,…,tn是等距离的,即tk+1-tk=h, 称h为计算步长或步距。 当tt0时,x(t)是未知的,因此式(3-2)右端的积分是求不出的。为了解决这个问题,把积分间隔取得足够小,使得在tk与tk+1之间的f(t,x(t))可以近似看作常数f(tk,x(tk)),这样便得到用矩形公式积分的近似公式 或简化为 这就是欧拉公式。 以x(t0)=x0作为初始值,应用欧拉公式,就可以一步步求出每一时刻tk的xk值, 即 k =0,x1≈x0+f(t0,x0)h k=1, x2≈x1+f(t1,x1)h ┇ k=n-1, xn≈xn-1+f(tn-1,xn-1)h 这样式(3-1)的解x(t)就求出来了。欧拉法的计算虽然比较简单,但精度较低。图3-1为欧拉法的几何解释。 3.1.2 梯形法 由上可知欧拉公式中的积分是用矩形面积f(tk,xk)h 来近似的。 由图3-2知,用矩形面积tkabtk+1代替积分,其误差就是图中阴影部分。为了提高精度现用梯形面积tkactk+1来代替积分,即 于是可得梯形法的计算公式为 由于上式右边包含未知量xk+1,所以每一步都必须通过迭代求解,每一步迭代的初值xk+1(0)通常采用欧拉公式来计算,因此梯形法每一步迭代公式为 3-3) 式中 迭代次数R=0,1,2,… 3.1.3 预估-校正法 虽然梯形法比欧拉法精确,但是由于每一步都要进行多次叠代,计算量大,为了简化计算,有时只对式(3-3)进行一次叠代就可以了,因此可得 通常称这类方法为预估-校正方法。它首先根据欧拉公式计算出xk+1的预估值xk+1(0) ,然后再对它进行校正,以得到更准确的近似值xk+1(1)。 3.1.4 龙格-库塔法 根据泰勒级数将式(3-1)在tk+1=tk+h时刻的解xk+1=x(tk+h) 在tk附近展开,有 3-5) 可以看出,提高截断误差的阶次,便可提高其精度,但是由于计算各阶导数相当麻烦,所以直接采用泰勒级数公式是不适用的,为了解决提高精度问题,龙格和库塔两人先后提出了间接使用泰勒级数公式的方法,即用函数值f (t,x)的线性组合来代替f (t,x)的导数,然后按泰勒公式确定其中的系数, 这样既能避免计算f (t,x)的导数,又可以提高数值计算精度,其方法如下。 因 故式(3-5)可写成 (3-6) 为了避免计算式(3-6)中的各阶导数项,可令xk+1由以下多项式表示。 (3-7) 式中 am为待定因子,v为使用f函数值的个数,km满足下列方程 (3-8) 即: 将式(3-7)展开成h的幂级数并与微分方程式(3-1)精确解式(3-6)逐项
显示全部