合工大计算机仿真实验,哈工大计算机仿真

《哈工大计算机仿真》由会员分享,可在线阅读,更多相关《哈工大计算机仿真(25页珍藏版)》请在人人文库网上搜索。

1、第3章 连续系统的数字仿真通用算法,3.1 基于离散相似原理的数字仿真算法,连续时间系统的状态方程形式的数学模型可以写成如下标准形式,1,式(1)右端的,为,对系统进行时域仿真分析,实际上就是要求解这类方程的“初值问题”,即求方程,2,3,的解。求初值问题式(3)的解析解,意即求一个x(t) ,使之满足方程(3,仿真是要利用计算机求数值解,求初值问题的数值解,意即将连续时间区间(0,t)离散为时间序列t=t1,t2,t3,tn。然后求真实解在上述时刻的近似值,x1,x2,x3,xn 。事实上只有一些特殊类型的状态方程才存在着解析解。大量从实际系统建立的状态方程的求解,主要依靠数值解。因此,在连。

2、续系统数值仿真中,首先应建立适于数值计算的数字仿真模型。 离散相似原理将连续系统通过虚拟采样开关和信号保持器转换成离散系统,建立适用于数值计算的数值仿真模型。应用离散相似原理建立仿真模型时,根据对输入信号和信号保持器的不同选择,可以构造各种各样的算法,即相应的数字仿真模型。作为构造算法的例子,下面介绍欧拉法、梯形数值积分法、Adams方法及局部解析方法,3.1.1 欧拉法(Euler Method,4,为了讨论方便,这里以一阶连续系统为例。其状态方程为,在区间tm,tm+1上输出x(t)为,5,为采样值Fi,将,代入式(5)就可以得到x(t)在区间tm,tm+1上的解析解,构成的简单函数,在区。

3、间tm,tm+1上,取信号保持器为零阶保持器,设其输出表达式为,6,其中,式(5)x(t)的解为,7,当t=tm+1时,有,即,9,8,式(9)称作前向欧拉法的迭代公式,又称作显式欧拉法迭代公式。从式(9)可以看出,只要给出初始值x0就能一步一步地计算出变量x(t)在任意采样时间点的近似值。我们称这种迭代公式为自起步迭代公式,当取零阶保持器的输出为,10,式(11)称作后向欧拉法的迭代公式,又称作隐式欧拉法迭代公式。式(9)和式(11)两种迭代公式在计算xm+1的方法上有很大的差别,前者只需计算公式右端的函数f(x,u(t),t)在t=tm时的值便可得出xm+1,而后者则必须通过解代数方程才能。

4、求得xm+1。 尽管后向欧拉法与前项欧拉法在计算xm+1的方法上有很大差别,而后向欧拉法在计算xm+1时,也只用到x(t)的一个过去值xm,因此只要给定初始值x0迭代就能进行,故此法也是自动起步的。欧拉法属于单步计算方法,则可得到xm的迭代公式为,11,几何意义,前向欧拉法的几何意义如图2所示。在区间(tm, tm+1)内,把真实解x(t)用一条直线来近似替代。该直线通过点xm,且斜率等于曲线x(t)在t =tm点的斜率,后向欧拉法的几何意义如图3所示。在区间(tm, tm+1)内,把真实解x(t)用一条直线来近似替代。该直线通过点xm,且斜率等于曲线x(t)在t =tm+1点的斜率,例: 设。

5、系统方程为,其数值解,取仿真步距,试用Euler法求,解:原方程为,则,前向欧拉法的递推公式为,后向欧拉法的递推公式为,显然,由后向欧拉法得到的递推公式为非线性代数方程。解此非线性方程可得,3.1.2 梯形法,为了讨论方便,这里以一阶连续系统为例。其状态方程为,在区间tm,tm+1上输出x(t)为,取信号保持器为一阶保持器。一阶保持器是区间tm,tm+1 上的一次多项式。其输出表达式为,其中a1和a0为常系数,12,对一阶隐式保持器,曲线的插值点为(tm,Fm)和点( tm+1,Fm+1)因此,式(12)中的系数a0和a1可由下列方程确定,解方程(13)可得系数a0和a1为,13,14,将式(。

6、12)代入式(5),则在区间tm,tm+1上的解为,其中h=tm+1-tm,15,当,时,有,16,即,17,梯形法的递推公式,利用梯形法递推公式对系统进行仿真时,必须通过解代数方程才能求得xm+1。由于梯形法的推公式在计算xm+1时,只用到x(t)的过去值xm及 ,因此只要给定初始值x0递推就能进行。该方法为单步法,可以自起步计算,图4 梯形法的几何意义,几何意义,梯形法的几何意义如图4所示。在区间tm,tm+1上,把真实解x(t)用折线来近似替代,段斜率为,段的斜率为,显然,梯形法较欧拉法具有更高的精度,解:原方程为,例 对例3.1给出的系统,试用梯形法求其数值解(取仿真步 距 h=0.1。

7、,则,梯形法的递推公式为,由梯形法得到的递推公式为非线性代数方程。解此非线性代数方程可得,Euler法和梯形法的另一种解释数值积分法,Euler法,目标,显式,隐式,梯形法,直线通过(tm,Fm)和点( tm+1,Fm+1,t,m,m+1,T,可见,梯形法的计算精度要好于欧拉法,3.1.3 Adams 方法,为了讨论方便,这里以一阶连续系统为例。其状态方程为,在区间tm,tm+1上输出x(t)为,取信号保持器为k阶保持器。k阶保持器是区间tm,tm+1 上的k次多项式。其输出表达式为,k阶显式Adams 算法的递推公式为,18,k阶隐式Adams 算法的递推公式为,19,上式中,为常数,下面以。

8、二阶保持器的例子来说明显式二阶Adams 方法的构造过程。二阶保持器是tm,tm+1区间上的二次多项式。二阶保持器输出有公式,20,对二阶显式保持器,曲线的插值点为(tm,Fm)、 (tm-1,Fm-1),tm-2,Fm-2)因此式(20)中的系数a0、a1和a2可由下列方程确定,21,解方程(21)可得系数a0、a1和a2 ,将这些系数代入方程(20),并整理可得二阶保持器的输出表达式为,22,在区间tm,tm+1上输出x(t)为,则,将式(22)代入上式,得,即,23,上式中,由下式确定,式(23)称为显式二阶 Adams 递推公式。对于显式k阶保持器,是由,构造的k阶插值多项式,类似地按。

9、上述的推导方式,可以得到显式k阶Adams递推公式,表1: 显式 Adams 方法的系数,从表中可见,当k=0时,得到的显式 Adams 递推公式即为前向欧拉法,表2 隐式 Adams 方法的系数,由于隐式 Adams 公式是由隐式k阶保持器推导得到的,它用到了tm+1处的输入信息值。由于隐式方法中含有,所以式(19)是关于未知量xm+1的方程。因此,采用隐式Adams方法建立的数字仿真模型需要求解以xm+1为未知量的方程,例3 对例1给出的系统,试用显式二阶Adams法求其数值解,解:原方程为,则,显式二阶Adams法递推公式为,无论用显式或隐式k阶Adams法计算y(tm)的近似值,都需要知道k个初始值,例如,然而,除,知外,其余k-1初始值通常是未知的。因此,时刻的初始值已,不能自动起步计算,是多步法,阶Adams法,计算所需的初始值有几种方法。通常采用单步法,比如欧拉法和下面将要介绍的Runge-Kutta法。为了保持所选Adams法的计算精度,计算所需的初始值应采用与其具有相同精度的单步法。由于显式二阶Adams法具有二阶的计算精度,因此,其起步初始值可采用梯形法求取。其迭代公式为,计算出y1和y2值后,便可应用显式二阶Adams法递推公式计算yn。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值