数字电路第二章
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
截断误差: 常以泰勒公式来分析数值积分公式的精度。
简化分析,假设第n步是精确的,用泰勒公式求 得tn+1处的精确解为:
y(tn
h)
y(tn
)
h
•
y(tn
)
1 2!
h2
••
y(tn
)
...
1 hr r!
y
(r
)
(tn
)
o(hr1
)
显然,欧拉法是从以上精确解中取了前两项 之和来近似计算yn+1,由这种方法引起的单独 一步引进的附加误差通常称作局部截断误差 (“局部”是指yn是精确的),它是由方法给 出的值和微分方程的解之间的差,又称作局部 离散误差。
虽然欧拉法不够准确,但可用于帮助确定迭代初 值,即取: yn01 yn hf ( tn , yn )
然后有:
yk1 n1
yn
1 2
h[
f ( tn , yn
)
f
(
tn1
,
yk n1
)]
k 0,1,...
数值积分法(二)
实际应用梯形法时,一般只迭代一次,于是得到 改进的欧拉公式:
y0 n1
yn
稳定性: 微分方程离散成差分方程后是否稳定的问题。
习题(一)
已知:dy(t)/dt=t2+y(t);y(0)=1;
步长取0.1,t0=0,用梯形法求y(t4) 的值。
2.数字仿真的步骤:
3.数字仿真的特点:
a.运算精度高; b.数字计算机存储量大,函数运算、迭代运算和逻辑判断
能力强;
c.使用方便灵活; d.对快速系统难以实现实时仿真。
系统的 数学模型
数字仿真 模型
编写仿真程 序和文件
研究分析 结果
运行程序和 数据文件
第二章 连续系统数字仿真
设连续系统输入为u0(t),输出为y0(t);令 仿真时间间隔为h,而离散化之后的输入为 u1(tk) ,输出为y1(tk),其中tk=kh。如果:
数值积分法(一)
欧拉法递推计算公式中的步长记作: h tn1 tn
当其为固定值时为定步长,否则为变步长。这样欧
拉法递推公式记作:
yn1 yn hf (tn , yn ) n 0,1,...
可以看出,任何新的数值解yn+1,都是基于前一个 数值解yn及其导数f(tn,yn)求出的。已知初值y0后,利 用上式迭代计算即可求出微分方程在t=t1,t2,…,tn处 的近似解y1,y2,…,yn。
欧拉法 欧拉法也称为折线法、矩形法,是最早采
用、最简单、最经典的一种数值积分方法。由 于其计算精度较低,所以实际中很少采用,但 它的导出简单,能反映数值解法的基本思想, 因而仍是学习过程中不可缺少的部分。
数值积分法(一)
推导: 考虑上述微分方程: d y( t ) f ( t, y( t ))
上式表明步长越小则截断误差就越小。
yn1
yn
h( 2
fn
f n1 )
yn
h 2
(
f
n
•
yn h
•
fn)
yn
h
•
yn
h2 2
••
yn
数值积分法的几个基本概念
舍入误差: 跟计算机的字长有关。与计算步长成反比 (步长越小,舍入误差越大)。另外还和计算 机所使用的数字系统,数的运算次序以及计算 f(t,y)所用的精确度有关。 所以,截断误差和舍入误差不可能做到同时 都取得很小。
数值积分法的几个基本概念
Eular的局部截断误差:
en1 yn1 y(tn1) o(h2 )
如果我们不假定yn是精确的,那么整体上由计算公 式引起的误差称为整体误差。
一般若截断误差为o(hr+1),则方法为r阶的,所以 方法的阶数可以作为衡量方法精度的一个重要标志。 Eular法为一阶精度,改进的Eular为二阶精度。
解析解和数值解
数值解就是其中之一,它的重点 不在于求准确解,而是直接求一系列 点上的数值(近似)。近似值和准确 解相差多少,是否稳定等问题。数值 分析应用的范围较广,对于绝大多数 实践中出现的常微分方程初值问题 (常系数,变系数,线性,非线性) 都能解决。
数值积分法(一)
实质:所谓数值解法,就是求解上述初值问题 微分方程在一系列离散时刻t0、t1、…、tn对应 实际y(ti)的近似值yi(数值解)。
y(t1)的近似值,就可依次解出y2、y3、…,梯形法
的递推公式为:
yn1
yn
1 2
h[
f ( tn , yn
)
f ( tn1 , yn1
)]
数值积分法(二)
梯形法与欧拉法的区别
欧拉法中的每个yn由已知或已计算出的量求得, 是一种显式形式;而梯形法是隐式形式,为计算出 yn+1,就要预先确定一个yn+1,所以必须借助其它 方法启动,才能进行以后的迭代计算。
这种仅利用前一点的值求出下一点的值的方法称为 单步法。
数值积分法(一)
因为这种方法是在 已知初值y0的情况下进 行计算的,故也称为 “微分方程初值问题的 数值计算法”,它不需 要其它信息,是一种 “自启动”的算法。
欧拉法的几何意义 如图所示。
欧拉折线
数值积分法(一)
实质: 欧拉法的实质是用一条折线(称之为欧拉折 线)来逼近精确解曲线(实际曲线)y(t),因 而,又称为“折线法”。
优点: 方法简单,计算量小。
缺点: 精度低。
数值积分法(一)
【例题2-1】 用Euler法求下面系统的输出响应
y(t)在0≤t≤1上,h=0.1时的数值解。
y y, y(0) 1
要求保留4位小数,并将结果与真解 y(t) et 比较。
【解】1)真解:
dy dt
dt
ydt
dy y
dt
ln y t
数值积分法(一)
虽然这时y(t1)并未准确求出,不能用上式实际计算, 但可用其近似值替代,所以y(t2)的近似值为:
y( t2 ) y2 y1 f ( t1 , y1 )(t2 t1 ) 依此类推,y(tn+1)用yn+1近似替代,即得如下欧 拉法递推计算公式:
y( tn1 ) yn1 yn f ( tn , yn )( tn1 tn )
上次课的内容
仿真以及相关的一些知识、仿真的分类以 及各自的优缺点和所面临的问题。
计算机仿真的定义。 系统的定义、研究内容和分类。 模型的定义等,建模的三个途径和六个原
则。 控制系统的计算机仿真过程的四个步骤。 MATLAB的一些基本知识。
第二章 连续系统数字仿真
2.1 概述
1.数字仿真:用数字计算机进行仿真
t0
即认为在[t0,t1]区间内f(t0,y(t0))保持恒定不变,这 样y(t1)式右侧写为:
y0 f ( t0 , y( t0 ))(t1 t0 ) y0 hf ( t0 , y0 )
此即为用欧拉法求出的y(t1)近似值。故欧拉法被 视为采用矩形公式近似计算某个相应的定积分。
数值积分法(二)
y et
数值积分法(一)
2)数值解:y(ti1) y(ti ) hfi , i 0,0.1,0.2,,1
3)MATLAB程序: 调用euler.m函数文件
function y=euler(y0,h,f)
y=y0+h*f ;
y(ti1) y(ti ) hfi
h=0.1; %步长 y0=1; %初值 t=0:h:1;n=length(t);numy=zeros(1,n); f=-y0; numy(1)=y0;
数值积分法的几个基本概念
显式与隐式: 在计算yn+1时所需的数据均已算出,称为显 式公式。
在算式中含有未知量yn+1,则称为隐式公式。 (不能自启动)
在使用隐式公式时,需要用一显式公式估计 一初值,然后再用隐式公式进行迭代运算,这 就是预估-校正法。
注:
使用时应考虑方便,精度以及稳定性等因素。
数值积分法的几个基本概念
值y(t0)开始,逐步计算出y(t1)、y(t2)、…、 y(tk),每一步计算所需时间决定了仿真速 度。
连续系统数字仿真中最基本的算法是数 值积分法。
数值积分法(一)
数值积分法,就是对应常微分方程(组)建 立离散形式的数学模型 —— 差分方程,并求解 出其数值解。因此也称之为“数值解法”。
设有某系统的 一阶微分方程为:
为提高计算精度,可用梯形面积近似计算定积分:
t1
t0
f ( t, y( t ))dt
1[ 2
f ( t0 , y( t0
))
f ( t1 , y( t1
))](t1
t0
)
再代入y(t1)式, 可得其近似值:
y1
y0
1 2
h[
f
( t0 , y0
)
f
( t1 , y1
)]
这是关于y1的隐式方程。若可由此求出y1,作为
稳定性 若原连续系统是稳定的,则离散之后得到的
仿真模型也应是稳定的。
准确性 评价准确性的最基本准则是:
绝对误差准则: ek( tk ) y1( tk ) y0( tk )
相对误差准则:
ek ( tk )
y1( tk ) y0 ( tk ) y1( tk )
2.2 连续系统数字仿真
快速性 数字仿真是逐步推进的,由某个初始
数值积分法(一)
y(tn1) y(tn ) f (tn , yn )(tn1 tn )
对于t=t1 (n=0) ,y(t1)可由如下的近似值代替:
y(t1) y1 y(t0 ) f (t0, y(t0 ))(t1 t0 ) y0 f (t0, y0 )(t1 t0 ) 类似地,当t=t2时,y(t2)的近似值为: y( t2 ) y2 y( t1 ) f ( t1 , y( t1 ))(t2 t1 )
dt y( t0 ) y0
已知初始条件 y( t0时) ,y0对微分方程两 边由tn到tn+1积分,得到:
tn1
y(tn1) y(tn ) f (t, y(t))dt
tn
其中的积分项就是曲线f(t,y(t))与tn、 tn+1段包围的面积,如下图所示。
数值积分法(一)
如果积分的间隔取得 足够小,使得tn和tn+1 之间的f(t,y)可近似看成 常数f(tn,y(tn)),就可以 用矩形的面积来近似代 替该区间上的曲线积分, 得
的解为: 当t=t1时有:
t
y( t ) y0 f ( t, y( t ))dt
t0
t1
y( t1 ) y0 f ( t, y( t ))dt
t0
数值积分法(二)
上式右侧积分项中含有未知函数f(t,y(t)),故无法
由此式直接求解y(t1),但可采用矩形公式近似计算
该积分项:
t1
f ( t, y( t ))dt f ( t0 , y( t0 ))(t1 t0 )
hf ( tn , yn
)
yn1
yn
1 2
h[
f ( tn , yn
)
f
(
tn
1
,
y0 n1
)]
其中第一个公式称为“预估公式”,第二个公式 称为“校正公式”,故此法亦称为“预估-校正 法”。
采用这种方法时,每步计算仍只调用一次导数f, 但因增加了校正过程,故使计算量增加了一倍。
数值积分法的几个基本概念
d y( t ) f ( t, y( t )) dt y( t0 ) y0
来自百度文库
•
其解y(t)被称为 的y( t积) 分曲线,在该曲线 上的任一点(t,y(t))的切线斜率皆等于函数 f(t,y(t))。
解析解和数值解
在微分方程理论中,主要研究什么 条件下解存在而且唯一以及它的光滑性 质,还讨论各种获得准确解(解析解) 的方法。然而,这种数学分析方法只能 解决少数比较简单和典型的微分方程, 比如说一般的常系数线性方程。对于变 系数线性方程就有很大的困难,更不用 说一般的线性方程了。(定性)
u1( tk ) u0 ( tk ) , y1( tk ) y0 ( tk )
即:
eu( tk ) u1( tk ) u0( tk ) 0 ey( tk ) y1( tk ) y0( tk ) 0
则认为两种模型是等价的。这就是相似原理。
2.2 连续系统数字仿真
应用相似原理进行系统仿真时,对于数值算法, 即对于仿真建模方法有三个基本要求:
单步法和 多步法: 数值积分法采用的都是递推公式,因此都是
步进式。 当由前一时刻的数值yn就能求出后一时刻的
数值yn+1时,这种方法就称为是单步法;如果 需要用到tn以及过去的tn-1,tn-2,……等数据时, 则称为多步法。
单步法特点 能够自动启动,欧拉法、梯形法属于此种。
多步法特点 不能够自动启动。
数值积分法(一)
for i=2:n numy(i)=euler(y0,h,f); y0=numy(i); f=-y0;
end plot(t,realy,t,numy,'r.') Realy,numy
数值积分法(二)
梯形法(改进的欧拉法) 已知微分方程
d y( t ) f ( t, y( t )) dt y( t0 ) y0