武科大Matlab仿真第七章系统时间响应及其仿真
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
a t0 t1 tN b 求出微分方程在这些时刻的近似值 y0 y1 y2 yN
yk y(tk ) k 0,1, 2 N 常微分方程数值求解的基本方法是数值积分法。
仿真技术
第七章 系统时间响应及其仿真
7.1 仿真算法
7.1.2 数值积分的基本原理
积分区间的划分
dy f (t, y(t)), dt y(to ) y0
a t b (1)
将区间[a,b]分成 N个小区间,时间间隔h y
( h b a )也称为积分步长,在第k个间隔
t=[tk,tk+1N]内积分:
yk
y0
yk1 yk
t k 1 tk
f (t, y)dt
(2)
则可用yk(k=0,1,…N)作为解y(t)的近似 值,如图所示。
a tk tk+1 b t
介绍基于数字积分的连续系统仿真方法。
仿真技术
第七章 系统时间响应及其仿真
7.1 仿真算法
7.1.1 数值求解的基本概念
设微分方程为
dy
dt
f (t, y)
y(t0 ) y0
则求解方程中函数y(t)问题,就是已知初值的常微分方程求解问 题。
所谓数值求解就是要在时间区间[a, b]中取若干离散点
7.1.3 数值积分的几个算法
龙格-库塔法 二阶龙格-库塔(RK)法
dy f (t, y) dt y(2) d f (t, y)
dt
取(3)式的前三项,则有
ym1
ym
y'h
m
1 2
y(2)h2
m
ym
hf
(tm ,
ym )
1 2
f t
m
f
(tm , ym )
f y
m
h2
(7)
设原微分方程(1)式解具有以下形式:
➢ 虽然增加高阶项可提高计算精度,但也同时带来了需要 计算高阶导数的困难。龙格-库塔法的关键是利用低阶 导数构成的曲线去拟合含有高阶导数的曲线,从而避免 了计算高阶导数的问题。
仿真技术
第七章 系统时间响应及其仿真
7.1 仿真算法
yk 1
yk
y'h
k
1 2!
y(2)h2
k
1 3!
y (3) h3
k
(3)
定步长为积分步长在仿真运行过程中始终不变;变步长指在仿真运 行过程中自动修改步长。
仿真技术
第七章 系统时间响应及其仿真
7.1 仿真算法
yk 1
yk
y'h
k
1 2!
y(2)h2
k
1 3!
y (3) h3
k
(3)
7.1.3 数值积分的几个算法
欧拉算法
在(3)式中取前两项: ym1 ym y' h m
第七章 系统时间响应及其仿真
第七章 系统时间响应及其仿真
系统的时间响应是指系统在输入信号或初始状态作用下,系统输 出随时间变化的情况。系统的时间响应反映了系统的特征和性能,如 快速性、稳定性等。对系统时间响应的分析是我们设计、校正系统的 基础。
本章主要内容如下: 7.1 仿真算法 7.2 系统仿真的MATLAB函数
数值积分图解
仿真技术
第七章 系统时间响应及其仿真
7.1 仿真算法
7.1.2 数值积分的基本原理
数值积分的展开式
yk1 yk
t k 1 tk
f (t, y)dt
(2)
为避免(2)式中的积分项,将y在tk ,以h为增量展开成Taylor级 数:
yk 1
yk
y'h
k
1 2!
y(2)h2
k
1 3!
KK21
f (tm , ym ) f (tm b1h,
ym
b2
K1h)
(8)
ym1 ym h(a1K1 a2K2 )
式中,a1,a2,b1,b2为待定系数。
仿真技术
第七章 系统时间响应及其仿真
将(8)式中 K2按二元函数 展开成泰勒级数,并取前三项
KK21
f (tm , ym ) f (tm b1h,
(4)
可得欧拉算法:
y
y1
y0
yh
t 0
y0
y0
f
(t0 ,
y0 )h
欧拉近似解 y(t)
y2
y1
f
(t1, y1)h
ym1
ym
f
(tm ,
ym )h
(5)
y1 y0
h
【说明】欧拉法是用一条过各点的 切线取代曲线来逼近精确解。该算 法简单,计算量小,但精度较低。
t0 t1 t2 t3
t
欧拉法
由于上式计算时需要用到ym+1的值,而ym+1不能预先知道,故 梯度法需要和欧拉法结合使用,即用欧拉法对ym+1 进行予估, 再由梯度法计算ym+1
ym1 ym f (tm , ym )h
(予估) (6)
ym1
ym
1 2
h( f
(tm , ym )
f
(tm1,
y m1))
(校正)
仿真技术
第七章 系统时间响应及其仿真
7.1 仿真算法
yk 1
yk
百度文库
y'h
k
1 2!
y(2)h2
k
1 3!
y (3) h3
k
(3)
7.1.3 数值积分的几个算法
龙格-库塔法 龙格-库塔法的基本思想
➢ 欧拉算法的精度较低,主要是其微分方程解 y 的 Taylor 展开式所取的项数太少。显然为了提高计算精度,应当 取泰勒公式(3)更高阶项 。
仿真技术
第七章 系统时间响应及其仿真
7.1 仿真算法
yk 1
yk
y'h
k
1 2!
y(2)h2
k
1 3!
y (3) h3
k
(3)
7.1.3 数值积分的几个算法
梯度法 梯度法是欧拉法的改进。
ym1
ym
1 2
h(
f
(tm ,
ym )
f
(tm1, ym1))
与欧拉法相比,梯度法是用两个点(tm,ym) 、(tm+1,ym+1)的斜 率的平均值来确定下一点的y值。
仿真技术
第七章 系统时间响应及其仿真
第七章 系统时间响应及其仿真 7.1 仿真算法
对系统的时间响应进行动态仿真,采用什么样的仿真算 法是一个至关重要的问题。对连续时间系统进行数字动 态仿真,主要是两种方法: ① 基于数值积分的仿真方法; ② 基于离散相似法的仿真方法。 由于后者涉及到离散控制系统理论,因此本节重点
y (3) h3
k
(3)
(k 0,1,2,, N )
式(3)是一个递推公式。积分值与实际微分方程解的误差取决于 步长h和计算所用的阶数,它是数值积分的基础。
仿真技术
第七章 系统时间响应及其仿真
7.1 仿真算法
7.1.2 数值积分的基本原理
有关概念 单步法和多步法 单步法指计算yk+1值只需利用tk时刻的信息,也称为自启动算 法;多步法在计算yk+1值时,则需利用tk, tk-1,…时刻的信 息。 显示法和隐式法 显示法在计算yk+1时所需数据均已算出;隐式法在计算yk+1时 需用到tk+1时刻的数据,该算法必须借助予估公式。 定步长和变步长