控制系统仿真及MATLAB语言--第四章 连续系统的离散化方法

合集下载

连续系统离散化方法

连续系统离散化方法

其中 y ( kT ) 为到 kT 时刻的阴影总面积。对式(5.15)进行 Z 变换,并整理得到
Y ( z ) T 1 + z −1 = X ( z ) 2 1 − z −1
(5.16)
图 5-5 梯形面积近似积分
D( z ) = D( s )
由式 (5.16) , 也可得双线性变换:
s=
2 1− z −1 T 1+ z −1
3、双线性变换法
双线性变换法又称突斯汀(Tustin)法,是一种基于梯形积分规则的数字积分变换方法。 由 Z 变换定义 z = e ,将 e 改写为如下形式:
Ts Ts
第 2 章 计算机控制系统的信号转换
Ts
21
eTs =
e2 e
− Ts 2
(5.12)
然后将分子和分母同时展成泰勒级数,取前两项,得:
Ts 2 z= Ts 1− 2 1+
由上式计算出 s ,得双线性变换公式。
(5.13)
s=
2 1 − z −1 T 1 + z −1
T [ x[(k − 1)T ] + x( kT )] 2
(5.14)
另外,由图 5-5 所示的梯形面积近似积分可得
y (kT ) = y[(k − 1)T ] +
(5.15)
s=Biblioteka z −1 T(5.11)
另外还可将 z 级数展开 :
z = eTs = 1 + Ts +
T 2s2 + ... 2
20
第 2 章 计算机控制系统的信号转换
取一阶近似 z ≈ 1 + Ts ,也可得到:
s=
z −1 T

控制系统仿真及MATLAB语言--第四章 连续系统的离散化方法

控制系统仿真及MATLAB语言--第四章 连续系统的离散化方法

t2 0.2, y2 y1 1 0.1y1 0.9 0.91 0.819 t10 1.0, y10 y9 1 0.1y9 0.4628
t3 0.3, y3 y2 1 0.1y2 0.8191 0.1 0.819 0.7519
状态方程的四阶龙格-库塔公式如下:
h xk +1 xk (K 1 2K 2 2K 3 K 4 ) 6 K 1 Axk Bu (tk ) K 2 A(xk h K 1 ) Bu (tk h ) 2 2 K A (x h K ) Bu (t h ) k 2 k 3 2 2 K A(x hK ) Bu (t h) k 3 k 4 y k +1 Cxk +1
41常微分方程的数值解法数值求解的基本概念设微分方程为则求解方程中函数xt问题的常微分方程初值问题所谓数值求解就是要在时间区间ab中取若干离散点求出微分方程在这些时刻的近似值这种方法的几何意义就是把ftx在区间tk1内的曲边面积用矩形面积近似代替
第四章 连续系统的离散化方法
4.1
常微分方程的数值解法
h xk 1 xk h f k ( ftk ' f xk ' f k ) 2!
f 'tk f 'xk 等各阶导数不易计算,用下式中 ki的线性组合代替
xk 1 xk h ai ki
i 1
r
线性组合
r为精度阶次,ai为待定系数,由精度确定;ki用下 式表示 i 1
ki f (tk b1h, xk hb2 k j ) , i 2,3
将 f tk b1h,xk hb2k1 在点 tk , xk 展成Taylor级数

连续系统的离散化方法课件

连续系统的离散化方法课件

离散化方法的意义
精确性
离散化方法可以提供对连续系统的精 确近似,特别是在计算机仿真和数字 控制系统中。
可计算性
离散化方法可以将不可计算的分析转 化为可计算的形式,便于进行数值计 算和控制器设计。
离散化方法的应用场景
01
02
03
数字控制
在数字控制系统中,连续 系统的离散化是必要的步 骤,以便在数字计算机上 进行数值计算和控制。
小波基选择
常用的小波基包括Haar小波、Daubechies小波、Morlet 小波等。
误差分析
小波变换法的误差主要来自于变换误差和离散化误差。
05
离散化方法的评估与优化
评估离散化方法优劣的标准
01
02
03
04
精度
离散化方法是否能准确代表原 连续系统。
稳定性
离散化方法在一定参数变化范 围内是否能保持稳定。
状态空间模型
用状态变量和输入、输出变量描述连续系统的动态特性。
状态空间模型通常形式为:`x'(t) = Ax(t) + Bu(t)` 和 `y(t) = Cx(t) + Du(t)`,其中 `x(t)` 表 示系统状态,`u(t)` 表示系统输入,`y(t)` 表示系统输出,`A`, `B`, `C`, `D` 是系数矩阵。
化率。
通过求解 ODE,可以得到系统 在任意时刻的状态。
传递函数
表示连续系统在输入和输出之间的传递 特性。
传递函数通常形式为:`G(s) = Y(s) / U(s)`,其中 `Y(s)` 和 `U(s)` 分别是输 出和输入的拉普拉斯变换,`s` 是复变
量。
通过分析传递函数的零点、极点和增益 ,可以得到系统的稳定性和性能特性。

连续系统离散化分析

连续系统离散化分析

1实验一 离散系统的分析一 实验目的1.学习利用采样控制理论;2.使用MATLAB 理论进行分析;3. 学习利用z 变换与反变换分析离散控制系统;二、实验步骤1.开机执行程序C :\matlab \bin \matlab.exe (或用鼠标双击图标)进人MATLAB 命令窗口;2.运用所学自动控制理论z 变换与反变换,使用MATLAB 的基本知识分析离散控制系统的基本性质及进行控制系统的设计。

3. MATLAB 离散系统基本命令模型转换1)连续系统离散化sysd=c2d(sys,T) T 为采样时间sysd=c2d(sys,T,method)method 有四种模式:a. ‘zoh’---采用零阶保持器,b. ‘foh’---采用一阶保持器,c. ‘tustin’---采用双线性逼近(tustin )方法,d. ‘preqarp’---采用改进的(tustin )方法,2)离散系统连续化sys=d2c(sysd,T,method) T 为采样时间例 设)1(1)(+=s s s g , T=0.1s , 求G(z) 键入命令:sys=tf([1],[1 1 0]);c2d(sys,0.1) %采样时间0.1s得到离散传递函数:当采样时间取T=1s 时:0.004837 z + 0.004679 G (z )= ---------------------------- z^2 - 1.905 z + 0.9048 0.3679 z + 0.2642 G (z )= ---------------------------- z^2 - 1.368 z + 0.36792例 系统脉冲传递函数为6322.02644.03678.0)()(2+−+=z z z z R z C ,求离散单位阶跃响应。

解. 在MATLAB 窗口键入以下程序num=[0.3678 0.2644];den=[1 -1 0.6322];dstep(num,den)结果件下图:三、实验内容有系统1)其中K =10,T =0.25s,求单位阶跃函数r(t)=1 (t)作用下的响应。

连续系统离散化方法

连续系统离散化方法
Z 变换法的特点是: ① D ( z ) 和 D ( s ) 有相同的单位脉冲响应序列; ②若 D ( s ) 稳定,则 D ( z ) 也稳定; ③ D ( z ) 存在着频率失真; ④该法特别适用于频率特性为锐截止型的连续滤波器的离散化。 它主要应用于连续控制器 D ( s ) 具有部分分式结构或能较容易地分解为并联结构,以及
5.2.1
连续系统离散化方法
1、反向差分变换法
对于给定的
D( s) =
U ( s) 1 = E (s) s
(5.1)
du (t ) = e(t ) ,用反向差分代替微分,得 其微分方程为 dt du (t ) u (k ) − u (k − 1) ≈ = e( k ) dt T
对(5.2)式两边取 Z 变换得: (1 − z )U ( z ) = TE ( z ) ,即
上式可以写成
1⎞ ⎛ ⎛1⎞ 2 ⎜σ − ⎟ + ω < ⎜ ⎟ 2⎠ ⎝ ⎝ 2⎠
2
2
由上式可以看出, s 平面的稳定域映射到 z 平面上以 σ = 1 / 2 , ω = 0 为圆心, 1 / 2 为半 径的圆内,如图 5-3 所示。

Im
ω =0
σ
Re
z =1
图 5-3 反向差分变换 s 平面与 z 平面的对应关系 反向差分变换方法的主要特点如下: ①变换计算简单; ②由图 5-3 看出, s 平面的左半平面映射到 z 平面的单位圆内部一个小圆内,因而,如果
⎛ z −1⎞ Re ⎜ ⎟<0 ⎝ T ⎠
令 z = σ + jω ,则上式可以写成
⎛ σ + jω − 1 ⎞ Re⎜ ⎟<0 T ⎝ ⎠
因为 T > 0 ,则有 σ − 1 < 0 即 σ < 1 ,如图 5-4 所示。

连续函数离散化matlab程序

连续函数离散化matlab程序

连续函数离散化matlab程序连续函数离散化是在数值分析和科学计算中常常用到的一种技术。

离散化的目的是为了将连续函数转化为离散点的数据,以便在计算机程序中进行计算和处理。

在 MATLAB 中,我们可以使用一些内置函数来实现连续函数的离散化。

1. 离散化的概念离散化是将连续函数转化成离散点的数据。

我们可以将其想象成将一条曲线在数轴上映射成若干个点,每个点代表函数在该点处的函数值。

在实际的计算中,离散化不仅可以提高计算效率,还可以让我们将连续函数以表格的形式展示出来,使得我们更容易进行分析和处理。

2. 样条插值样条插值是一种常用的连续函数离散化方法,在 MATLAB 中可以使用spline 函数实现。

该函数可以根据一组已知的数据点(也就是离散的点),生成一个插值函数。

之后,我们就可以使用该插值函数来计算任意点处的函数值,并对其进行分析和处理。

3. 离散变量的生成离散化的第一步是生成函数在某一区间内的离散变量。

MATLAB 中的linspace 函数可以帮助我们生成等间距的离散点。

例如,下面的代码可以生成一个包含 100 个离散点的行向量 x:```matlabx = linspace(0, 1, 100);```这个代码使用了 linspace 函数,第一个参数是区间的起点,第二个参数是区间的终点,第三个参数是离散点的个数。

在这个例子中,代码生成了一个从 0 到 1 的区间,并且将该区间等分成了 100 个离散点。

4. 进行样条插值一旦我们生成了离散变量,我们就可以使用 MATLAB 中的 spline 函数来进行样条插值。

下面的代码演示了如何生成一个样条插值函数:```matlaby = sin(2 * pi * x);pp = spline(x, y);```这段代码中,我们使用了 spline 函数,它的第一个参数是离散点的横坐标 x,第二个参数是离散点的纵坐标 y。

函数返回一个插值函数pp,我们可以使用该插值函数对任意点进行估算。

应用MATLAB分析离散控制系统

应用MATLAB分析离散控制系统
图1-30 离散系统脉冲响应
3.dslim()函数的调用格式
dslim(num,den,u)
其中:num为脉冲传递函数分子多项式系数;den为脉冲传递函数分母多项式系数;u为输入 信号。
自动控制原理
自动控制原理
应用MATLAB分析离散控制系统
1.1 连续系统与离散系统模型之间的转换 在MATLAB中对连续系统的离散化是通过c2dm()函数实现的,c2dm()函数的调
用格式为 [numd,dend] = c2dm(num,den,T,’zoh’)
其中zoh表示零阶保持器;T为采样周期,num为传递函数分子多项式系数; den为传递函数分母多项式系数。
表1-5 连续系统模型与离散系统模型转换函数
MATLAB函数
调用格式
函数说明
c2d
sysd=c2d(sysc,Ts,’method’)
连续时间LTI系统模型转换成 离散时间系统模型
c2dm

[numz,denz]=c2dm(num,den,T,’method’)
连续时间LTI传递函数模型转 换成离散时间传递函数模型
d2c d2cm d2d
sysc=d2c(sys,’method’)
离散时间系统模型转换成连续 时间LTI系统模型
1. [A,B,C,D]=d2cm(Ad,Bd,Cd,Dd,T,’method’)
离散时间状态空间模型 转换成连续时间状态空 间模型
sys=d2d(sysd,T)
离散时间模型转换成新的离散 时间系统模型
利用MATLAB中的dstep()函数可得到输出响应,如图1-29所示。程序如下: num = [0.368 0.264]; den = [1 -1 0.632]; dstep(num,den)

计算机仿真教案04-2-第四章 离散相似法的连续系统仿真

计算机仿真教案04-2-第四章 离散相似法的连续系统仿真

G (Z ) Z { 1 e sT G (s) }(1 z 1 )Z { G (s)}
s
s
通过脉冲传递函数导出系统差分方程
脉冲传递函数在大多情况下是z的有理分 式,即可表示为
G (z) U Y ( (z z) )b 1 0 a b 1 1 z z 1 1 a b 2 2 z z 2 2 a b p m z z p m
对其进行拉氏变换:
L [f ( t) ] F (s ) L k 0f(k T )( t k T ) k 0f(k T )e k T s

令 z e T s , 则 上 式 变 为 Z [f ( t) ] F (z )f( k T )z k k 0 此式称为采样函数 f ( t ) 的Z变换。
z1

1 2j
1
1 e jT
z1
z1 sinT
z1 sinT
1e jT z1 e jT z1 z2 1 2z1 cosT z2
Z变换的性质
线性性质 延迟定理 超前定理 复位移定理 初值定理 终值定理 卷积和定理
线性性质
若 : Z [f1 *(t)]F 1(z),Z [f2*(t)]F 2(z),
s s 1
1
解: L[sint] 2 j 2 2 2 j 2 j 2 j
s2 2
s2 2
s j s j
因为 所以
L1

s
1
j


e
j
(t
)
F(z)

z

s2
2


1 2j

4-1连续系统模型的离散化处理方法

4-1连续系统模型的离散化处理方法

xn1
xn
KTU n
KT 2 2
Un
Yn1 xn1
B 比例积分环节
Gs kb k A 0 B k
s
xt kut
yt xt kbut
2021/4/17
22
离散模型
xn1
xn
kTUn
kT2 2
Un
yn1 xn1 kbUn kbTU n
C 惯性环节
G(S) k A a B k as
2021/4/17
15
三、时域离散相似法原理
1 状态方程的离散相似法描述
xt Axt But
xt eAt x0 t eAt Bu d 0
2021/4/17
16
xkT eAkTx0 kT eAkT bu d 0
x kT T eAkTT x 0 kTT eAkTT Bu d 0
xk 1 T xk GT U k H T U k
2021/4/17
41
4.8 Z域和时域 W(n+1)=w(n)+Tu(n) X(n+1)=exp(-0.1T)x(n)+w(n+1)+(4-5exp(-
0.1T)w(n) Z(n+1)=exp(-2T)z(n)+(1-exp(-2T))x(n) Y(n+1)=exp(-10T)y(n)+(1-exp(-10T))z(n) U(n+1)=1-y(n)
2021/4/17
2
本章方法:先对连续模型进行离散化处理, 得到一个“等效”的离散化模型,
以后每一步计算都在这个离散化模型基础上 进行,原来的模型不再参与计算
这种方法,得到了简化的模型,便于在计算 机上求解,且使计算速度加快

连续系统离散化

连续系统离散化
连续系统的数字仿真
离散相似法
连续系统的离散化
首先要得到一个与被仿真系统等价的离散 模型。这个模型可以通过对连续系统的离 散化过程来获得。它分成以下五步:
① 首先对输入信号u(t)进行采样,即在输入 端加一个采样开关S1,其采样周期为T。
② 连续变化的信号u(t)经过采样开关后,变 成了一个离散信号u(kT)。为保证模型的等 价性,首先要求信号等价,因此它不能直 接进入原来的连续系统,而必须加上一只 信号重构器,它使信号u(k)重新变成一个 连续信号uh(t), uh(t)u(t)。
环节2是一阶惯性环节,其传递函数为
X (s) k0 k0 T1 U (s) T1s 1 s 1 T1 x(k 1) eT T1 x(k ) k0 (1 eT T1 )u(k )
连续系统按结构图的离散相似法仿真
环节3也是一阶惯性环节,其传递函数为
Y (s) 1 1 T2 X (s) T2s 1 s 1 T2
对上式进行拉氏反变换,求得方程的解为
t
X (t) (t) X (0) 0 (t )BU ( )d
时域解法求取离散系统差分方程
(t) L1 (sI A)1
X (t) eAt X (0) t eA(t )ΒU ( )d 0 t
X (t) (t)X (0) 0 (t )BU ( )d
采用一阶保持器描述系统的差分方程
x(k 1)T (T )x(kT) m (T ) n (T )u(kT) n (T )u(k 1)T
e(k 1) R(k 1) y(k 1)
e(k) R(k) y(k)
x1(k
1)
x1(k
)
3 4
Te(k
)
1 4
Te(k

连续控制器离散化方法

连续控制器离散化方法
( k 1)T kT
u ( ) d
T [u (( k 1)T ) u ( kT )] 2
T z 1 u ( kT ) 2 z 1 1 T z 1 2 z 1 , s s 2 z 1 T z 1 2 z 1 ) C ( Cd ( z ) C ( s ) T z 1
连续控制器离散化方法 前提条件:连续系统中已经设计好了模拟控制器,具有满意 的控制性能。 目标:得到一个具有相近控制性能的离散化数字控制器。 方法:
1使

具有相同的响应特征。 脉冲不变性方法:脉冲响应相同 阶跃不变性方法:阶跃响应相同 2 直接对C(s)中的S变量进行近似,得到Cd(z)
1.阶跃不变性方法
1 z 1 sT z 1 s zT Cd ( z ) C ( s ) C ( z 1 ) zT
3、塔斯廷(Tustin)近似法 Tustin法也称为双线性近似法 考虑一个积分器
y( s) 1 u (s) s y[( k 1)T ] y ( kT ) y[( k 1)T ] y ( kT ) y ( kT )
SYSD = C2D(SYSC,Ts,METHOD) converts the continuous-time LTI model SYSC to a discrete-time model SYSD with sample time Ts. The string METHOD selects the discretization method among the following: 'zoh' Zero-order hold on the inputs 'foh' Linear interpolation of inputs (triangle appx.) 'imp' Impulse-invariant discretization 'tustin' Bilinear (Tustin) approximation 'prewarp' Tustin approximation with frequency prewarping. The critical frequency Wc (in rad/sec) is specified as fourth input by SYSD = C2D(SYSC,Ts,'prewarp',Wc) 'matched' Matched pole-zero method (for SISO systems only). The default is 'zoh' when METHOD is omitted.

连续系统离散化处理基本方法

连续系统离散化处理基本方法

连续系统离散化处理基连续系统离散化处理的基本方法在数字汁算机上对连续系统进行仿真时,首先遇到的问题是如何解决数字计算 机在数值及时间上的离散性与被仿真系统数值及时间上的连续性这一基本问题。

从根本意义上讲,数字汁算机所进行的数值计算仅仅是“数字”计算,它表示 数值的精度受限于字长,这将引入舍入误差;另一方面,这种计算是按指令一步一 步进行的,因而,还必须将时间离散化,这样就只能得到离散时间点上系统性能。

用数字仿真的方法对微分方程的数值积分是通过某种数值计算方法来实现的。

任何 一种计算方法都只能是原积分的一种近似。

因此,连续系统仿真,从本质上是对原 连续系统从时间、数值两个方面对原系统进行离散化,并选择合适的数值计算方法 来近似积分运算,山此得到的离散模型来近似原连续模型。

如何保证离散模型的计 算结果从原理上确能代表原系统的行为,这是连续系统数字仿真首先必须解决的问 题。

设系统模型为:其中U ⑴为输入变量,y ⑴为系统变量;令仿真时间 间隔为/),离散化后的输入变量为!:仇),系统变量为y 仇),其中f 女表示仁妙。

如 果力(fj yO*川即5(4)"(儿)-"仇)©0,5(4)=沪仇)-y (S )"(对所有k=o,i,2,...),则可认为两模型等价,这称为相似 原理(参见图)。

实际上,要完全保证S (4)= 0,G .(4)= 0是很困难的。

进一步分析离散化引的误差, 随着计算机技术的发展,山i 甲規桃孚长引入的舍入误差可以忽略,关键是数值积分 算法,也称为仿真建模方法。

相似原理用于仿真时,对仿真建模方法有三个基本要 求:(1) 稳定性:若原连续系统是稳定的,则离散化后得到的仿真模型也应是稳定 的。

关于稳定性的详细讨论将在节中进行。

(2) 准确性:有不同的准确性评价准则,最基本的准则是:绝对误差准则:杠(.)=其中规定精度的误差量。

相对误差准则:‘以) y(F^)-y(S) y(S) <d(3)快速性:如前所述,数字仿真是一步一步推进的,即由某一初始值y (f 。

钱雪军-第4章 连续系统仿真——离散相似法2

钱雪军-第4章 连续系统仿真——离散相似法2

4.2.2 保持器
系统辨识与仿真
通过保持器对采样后输入信号的重构,通常可采用三种类型的保持器。
◨ 零阶保持器
◨ 一阶保持器
◨ 三角保持器
▶三种保持器比较:零阶保持器最简单,但重构信号的误差较大; 三角保持器最复杂,恢复信号的失真最小。
▶常用的还是零阶或一阶保持器,特别是零阶。
零阶保持器
u(t)
t0
u(t)
u*(t)
保持器
T
uk(t) x(t) = Ax(t) + Bu(t) x(t)
x*(t)
T
图4.2 状态空间模型离散化原理结构图
4.2.1 采样定理
系统辨识与仿真
采样频率ωs大于或等于两倍的采样器输入连续信号e(t)频谱 中的最高频率ωmax。即ωs>=2ωmax,这就是香农采样定理。
抽样频率小于模拟信号最好频率的2倍会造成频谱混叠 。
比较G(z)与G(s),可以得到置换关系 s ≈ 2 ( z −1) T (z +1)
映射关系
系统辨识与仿真
1+ Ts
考虑到
z

1

2 Ts
将 s = σ + jω 代入上式,可得
2
1+ Ts 1+ T (σ + jω) 1+ T σ + j T ω
(1+ T σ )2 + (T ω)2
z

2 1− Ts
◆为了使输入信号u(t)离散化后仍能保持原来的变化规律, 在输入采样开关后设置信号保持器(亦称为信号重构器), 复现原输入信号u(t),其结构如图4.1。
u(t)
u*(t) 保持器

连续系统的离散化方法及近似解课件

连续系统的离散化方法及近似解课件
差分方程
离散化后的控制系统可以用差分方程来描述,差分方程是连续时间微分方程在离散时间域 上的对应形式。通过求解差分方程,可以得到离散控制系统的输出响应。
Z变换
Z变换是离散时间信号和系统分析的重要工具,它可以将差分方程转换为代数方程,从而 简化离散系统的分析和设计。
电路模拟中的离散化方法及近似解应用
离散系统
离散系统是指系统状态在时间上 是离散的,即系统的状态变量只 在某些特定的时刻有定义,且在 这些时刻间不发生变化。
连续系统与离散系统的区别与联系
区别
连续系统和离散系统最主要的区别在于时间的连续性。连续系统的时间变量是连 续的,而离散系统的时间变量是离散的。
联系
两者之间存在密切的联系。实际上,许多连续系统可以通过离散化方法转化为离 散系统进行处理,这是因为数字计算机在处理问题时,只能处理离散的时间信号 。反之,离散系统的某些理论和方法也可以用来处理连续系统。
连续系统的离散化方法 及近似解课件
目 录
• 连续系统与离散系统概述 • 连续系统的离散化方法 • 离散系统的近似解法 • 连续系统离散化及近似解的应用案例 • 实验与仿真
01
连续系统与离散系统概述
连续系统与离散系统的定义
连续系统
连续系统是指系统状态在时间上 是连续的,即系统的状态变量在 任何时刻都有定义且随时间连续 变化。
感谢观看
前向差分法:前向差分法使用当前时刻及其前一时刻的输入信号来近似 计算下一时刻的输出信号。这种方法简单直观,但离散化误差相对较大 。
后向差分法:后向差分法使用当前时刻及其下一时刻的输入信号来近似 计算当前时刻的输出信号。相比前向差分法,后向差分法具有较小的离
散化误差。
以上内容即为连续系统的离散化方法及近似解课件的部分内容。在实际 应用中,可以根据具体需求和场景,选择合适的离散化方法和参数,以 实现连续系统的高效、准确离散化处理。

第四章连续系统的离散化方法

第四章连续系统的离散化方法
Ki hf ( xk ij K j , tk i h), i 1, 2,
j 1 i 1
,6;
j 1, 2,
6
i 1
下一步的状态变量可由下式求出:
xk 1 xk i Ki
i 1
四阶/五阶龙格-库塔法系数表
i* ij i
0 16/135 25/216
一般形式
3、a1 a2 , b1 b2 1 则 2
h x1 x0 ( K1 K 2 ) 2 K1 f (t0 , x0 )
一般形式
1
K 2 f (t0 h, x0 hK1 )
h xk 1 xk ( K1 K 2 ) 2 K1 f (tk , xk ) K 2 f (tk h, xk hK1 )
x1 x0 hf (t0 , x0 )
其一般公式为
xk 1 xk hf (tk , xk )
f1
f
f0
c
0
t0
t1
t
h2 h3 (2) h k ( k 1) Rn f (t0 , x0 ) f (t0 , x0 ) f (t0 , x0 ) 称为截断误差 2! 3! k! 例4-1 用欧拉法求下述微分方程的数值解。
x2 0.9 0.1 0.92 0.819 x3 0.819 0.1 0.8192 0.7519 x10 0.4627810
1 x 上式的精确解是 1 t
t 0 0.1
数值计算与精确解的比较见表
0.2 0.3 1.0
精确解x(t)
1
1
0.9090909
0.9
0.8333333
xi ”的固定顺序输入i 1, 2,
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

g
h x(t0 )

h2 2!
(
ftk

h2 2
x(2) (t0
' fxk ' fk )
)
f 'tk f 'xk 等各阶导数不易计算,用下式中 ki的线性组合代替
r
xk1 xk h aiki
线性组合
i 1
r为精度阶次,ai为待定系数,由精度确定;ki用下 式表示
i 1
ki f (tk b1h, xk hb2 k j ) , i 2, 3L , r
2

A(xk

h 2
K1) Bu(tk

h) 2

K
3

A(xk

h 2
K2)

Bu(tk

h) 2
K4 A(xk hK3) Bu(tk h)
yk+1 Cxk+1
RK法的特点:
1 需要存储的数据少,占用的存储空间少; 2 只需知道初值,即可启动递推公式进行计
算,可自启动; 3 容易实现变步长运算。 4 每积分一步需要计算多次右函数,计算量
求出微分方程在这些时刻的近似值 x0 x1 x2 L xN
x(t0

h)

x(t0
)

h
g
x(t0 )

h2 2!
x(2) (t0
)
L

hk k!
x(k)
(t0 )
1. 欧拉法
矩形面积
取前两项近似: xk1 hf (tk , xk ) xk
取k=0,1,2,…N,从t0开始,逐点递推求解t1时的y1, t2时的 y2…,直至tn时的yn,称之为欧拉递推公式。
(1) 自启动 r阶多步算式无法自启动,需要用单步法求出前r步值
(2) 预估迭代 迭代方法要求收敛性良好,否则在大步长时会造成数 值发散。
(3) 变步长 初始阶段采用小步长,随后可逐步放大步长。
对不同精度要求的系统仿真,要考虑变阶次问题, 即为减小每一步计算的截断误差,以提高精度,应选用 较高的阶次,而当精度较低时,为减少工作量,则应选 取较低的阶次。仿真时应根据估计误差 与给定的误差精 度相比较改变步长或阶次来重新计算。
2 病态系统中绝对值最小的特征值对应于系统动态性能 解中瞬态分量衰减最慢的部分,它决定了整个系统的动 态过渡过程时间的长短。一般与系统中具有最小时间常 数Tmax的环节有关,要求计算步长h取得很大。
3 对于病态问题的仿真需要寻求更加合理的算法,以解 决病态系统带来的选取计算步长与计算精度,计算时间 之间的矛盾。
第四章 连续系统的离散化方法
4.1 常微分方程的数值解法
一. 数值求解的基本概念
设微分方程为
dx

dt

f
(t,
x)
x(t0 ) x0
则求解方程中函数x(t)问题的常微分方程初值问题
所谓数值求解就是要在时间区间[a, b]中取若干离散点
a t0 t1 L tN b hn tn1 tn

y1
y1( 0 ) 2, y2( 0 ) 0
1、建立M-文件vdp.m如下:
function dy=vdp(t,y) dy=zeros(2,1); dy(1)=y(2);
dy(2)=2*(1-y(1)^2)*y(2)-y(1);
2、取t0=0,tf=20,输入命令:
[T,Y]=ode45(‘vdp’,[0 10],[1;1]); plot(T,Y(:,1),'-‘, T,Y(:,2))
例 设系统方程为
g
x x2, x0 1
用Euler法求其数值解(取步长 h0.1, 0 t 1 )
递推公式为
xn1 xn hf tn , xn xn 1 0.1xn

t0 0, y0 1
t1 0.1, y1 y010.1y0 0.9 t2 0.2, y2 y110.1y1 0.90.91 0.819 t3 0.3, y3 y210.1y2 0.81910.10.819 0.7519
3、结果
练习 解微分方程组.

y1' y2 y3

y2 ' y1 y3 y3' 0.51y1 y2
y1(0) 0, y2 (0) 1, y3(0) 1
解 1、建立m-文件rigid.m如下:
function dy=rigid(t,y) dy=zeros(3,1); dy(1)=y(2)*y(3); dy(2)=-y(1)*y(3); dy(3)=-0.51*y(1)*y(2);

t10 1.0, y10 y910.1y9 0.4628
已知方程的解析解为
y 1 1 t
精确解和解析解作比较:
t
0
精确解 1
数值解 1
0.1 0.2 0.3 0.4 0.5 …… 1.0
0.909 0.833 0.769 0.666 0.625 …… 0.5
0.9 0.819 0.752 0.659 0.647
大。
3.常微分方程Matlab求解
基于龙格-库塔法,MATLAB提供了求常微分方程数值解 的函数,一般调用格式为:
2/3阶龙格-库塔算法
[t, x]=ode23(‘xfun’, [t0, tf] ,x0)
4/5阶龙格-库塔算法 [t, x]=ode45(‘xfun’, [t0, tf] ,x0)
输入 输出
将 f tk b1h,xk hb2k1 在点 tk ,xk 展成Taylor级数
k2 fk b1hftk b2hk1 fxk
与台劳公式的二阶展开近似公式相比,可得以下关系:
ba12
a2
a2
1 12
a2b1 1 2
三个方程,四个未知数,解不唯一
0.463
误差在 10 2 数量级, 精度较差。
2. 龙格库塔法※
基本思想:取Taylor级数展开式前三项
近似求解,并利用线性组合代替导数的 求解。
既可避免计算高阶导数,又可提高
数值积分的精度,这就是Runge-Kutta
法的基本思想。
2.
龙格库塔法※
x(t0 h) x(t0 )
xk1 xk h fk
X&(t) AX (t) BU (t), X (t0) X 0
的系数矩阵A的特征值具有如下特征:
Re(i ) 0
m1iaxn Re(i ) ?
min
1i n
Re(i )
则称为“病态”方程。
2 控制系统仿真中的“病态”问题
1 病态系统中绝对值最大的特征值对应于系统动态性能 解中瞬态分量衰减最快的部分,它反映了系统的动态响 应和系统的反应灵敏度。一般与系统中具有最小时间常 数Tmin的环节有关,要求计算步长h取得很小。
j 1
1)当r=1时:
xk1 xk ha1k1,
k1 f (tk , xk ),
与Taloy展开式相比较,可得a1=1,则上式成为
xk1 xk hk1 xk hf (tk , xk ),
欧拉递推公式
2)当r=2时:
k2

k1 f tk ,xk f tk b1h, xk hb2k1
4.4 连续系统状态方程的离散化
上章所述的连续系统数学模型的离散化, 是通过数值积分法实现的,尽管面向结 构图的仿真方法是按环节给定参数,但 是在计算时还是按整个系统进行离散化, 这就不便于引进非线性环节以进行非线 性系统的仿真。在本节,将介绍连续系 统离散模型的建立和仿真。
常微分方 程函数名
起始 时间
终止 时间
初始状 态向量
例 1 经典的微分方程
解: 令 y1=x,y2=x’

d2x dt 2

2(1 x2 ) dx dt
x( 0 ) 1; x'( 0 ) 1

x

0
则微分方程变为一阶微分方程组:

y2
'

y1' y2 2(1 y12 )y2
(i 1, 2,L , n)
ki1 ki 2
ai1x1k ai2 x2k L ain xnk biu(tk )

ai1 ( x1k

h 2
ki1 )
L

ain (xnk

h 2
ki1 )
biu(tk

h) 2
ki3

ai1 ( x1k

h 2
ki2 )
L
仿真中遇到的大多数工程实际问题,四阶龙格库塔法以能 满足精度要求,其截断误差o(h5) 与h5同数量级。该法可以 自启动。
4)、状态空间四阶龙格-库塔递推式 若单输入单输出系统的状态空间表达式为:
X& AX BU Y CX DU
在仿真中,对于n阶系统,状态方程可以写成一阶微分方程
各个系数的几种取法——见书上。
3) r=4时,四阶龙格库塔公式-最常用:
h
xk 1

xk

( 6
K1

2K2

2K3

ቤተ መጻሕፍቲ ባይዱK4
)

K1 f tk ,xk

K2

K3

f f

tk

tk

h 2
,
xk
h 2 , xk
相关文档
最新文档