连续系统数值积分仿真方法学
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2019/11/19
3
连续系统仿真步骤
1 建立数学模型:微分方程、状态方程、传 递函数
2 建立仿真模型:选择仿真算法,将数学模 型转化为仿真模型
3 编写运行程序:选择某种语言,写出计算 机仿真程序,进行运行,获得仿真结果
2019/11/19
4
数值积分法系统仿真
数值积分法:面向方程的系统仿真、面向结 构图的系统仿真。
给定步长h,如果计算结果对初始误差或计算误差 不敏感,算法是稳定的。
不稳定的算法,误差会恶性膨胀,计算结果发散, 仿真失败。
2019/11/19
14
3.2龙格-库塔法(RUNGE-KUTTA)
间接利用泰勒展开式,用几个点上的斜率线 性组合代替Y(t)的各阶导数
然后用TAYLOR级数展开式确定线性组合中 各加权系数
2019/11/19
16
k1 f y0,t0
k2
f
y0
k1h, t0
h
f
t0 ,
y0
f t
k1
f y
h t t 0, y y 0
y1
y0
1 2
f
t0 ,
y0 h
h 2
f
t0 ,
y0
f y
dy dt
数值积分法:
yt f t, yt a t b
y0 y0
2019/11/19
5
数值积分法的任务:寻求真解在一系列离散 点上数值解
数值积分法要解决的问题:如何对函数F(t, y)进行数值积法
基本方法:单步法、多步法、预估—校正法 (精度、速度、稳定性不一样)
隐式:Yn+1的递推公式中,用到了Yn+1的 数值(需要预估)
4 截断误差(泰勒展开)
欧拉法是一阶精度的,改进的欧拉法是二阶 精度的
2019/11/19
13
5 舍入误差:由于计算机字长引起的误差
6 初始误差:给定的初始值与真值之间的差异
7 数值解的稳定性:由于误差的影响,计算步长选 择不合适,有可能使数字仿真结果出现不稳定的现 象
yn hf
tn, yn
yc n1
yn
源自文库
h 2
f
tn, yn
f
tn1,
yp n1
先用欧拉法进行预估,再代入梯形公式
它是一种多步法,不能自启动,必须用其它 方法求以前的多步解。
以上只适于一阶微分方程组,高阶要降阶处 理。
2019/11/19
11
三、 数值积分法的几个基本概念
18
另一套递推公式
yk 1 yk hk2
k1 f yk , tk k2 f yk k1h / 2, tk h / 2
基本思路:以欧拉法为例进行说明。
2019/11/19
6
在若干离散点处,求出若干的y值来代替连续 变量y(t),数值积分法就是一种把连续变 量离散成离散变量的一种方法。
一、 欧拉法
yk1 yk tk1 tk y tk
2019/11/19
7
y0 y0 y0 f 0, y0 y1 y0 t2 t1 f 0, y0 y2 y1 t3 t2 f t1, y1
第三章 连续系统数值积分 仿真方法学
3.1 连续系统数值积分法基本原理 3.2 Runge-Kutta积分法 3.4 数值积分法稳定性分析 3.5 数值积分法的选择与计算步长的确定 3.6 通用仿真程序
2019/11/19
1
概述
连续系统仿真:借助于计算机,求解数学模 型
关键问题:如何选择一种算法,将系统模型 转化为能在计算机上运行的离散模型
1 算法自启动
只要知道初值,能递推一系列离散解,无需 其它算法的辅助(如欧拉)
2 单步法与多步法
采用的递推公式,都是步进的,如果由Yn能 求得Yn+1,不需其它信息(单步)
如果,为了求Yn+1,需要Yn、Yn-1等信息 (多步)
2019/11/19
12
3 显式与隐式
显式:Yn+1递推公式中,用不到Yn+1的数 值
两类仿真算法: 数值积分法:欧拉法、龙格-库塔法 离散相似法:离散状态法、屠斯丁法
2019/11/19
2
连续系统的数学模型
一、微分方程: 常见:单变量、线性定常微分方程。 y’’+5y’+6=3x 它是根据数学力学原理推导而出 二、传递函数 G(S)=Y(S)/X(S) 三、状态方程 中间状态—输入之关系 输出方程:中间状态—输出关系
2019/11/19
8
举例
y y2 0 y0 1 h 0.1
yn1 yn hf tn, yn yn h yn2 yn 0.1yn2
y1 y0 0.1y02 0.9
y2 y1 0.1y12 0.819
由于是近似的,肯定有误差,可减小步长 h法=提tK+高1-t精K,度但是步有长限过的小。,计算量太大,通过此
2019/11/19
9
二、 改进欧拉法(梯形法)
用梯形面积代替小区间曲线积分,可以比欧 拉法提高精度。
yk1
yk
h 2
f
tk , yk
f
t k 1 ,
y0 k 1
y0 k 1
yk
hf
tk , yk
2019/11/19
10
一次迭代求近似解
y p n1
既提高了精度,又省去了高阶导数计算
2019/11/19
15
一、龙格-库塔数值积分公式
将y(t)在t0,y0处用台劳级数展开,保留h2 及以前的项。
y1
y0
y0h
1 2
y0 h 2
y1
y0
f
t0 ,
y0
h
1 2
f y
dy dt
f t
h2
t t 0, y y 0
f t
h
y1
y0
k1
k2
h 2
2019/11/19
17
t0 , y0 , h k1, k2 y1 y2 y3
yk1 yk hk1 k2 / 2 k1 f yk ,tk k2 f yk k1h,tk h
2019/11/19