照明论坛-LED论坛-照明家族

标题: 第6章: 常微分方程初值问题的数值解法 [打印本页]

作者: fdsadfdsid    时间: 2017-1-12 19:07
标题: 第6章: 常微分方程初值问题的数值解法

微分方程定义: 联系着自变量,未知函数及其导数的关系式。为了定量研究一些实际问题的变化规律,要对所研究的问题进行适当的简化和假设,建立数学模型,当问题涉及变量的变化时,该模型就是微分方程,下面通过几个典型的例子来说明建立微分方程模型的过程。


作者: fdsadfdsid    时间: 2017-1-13 10:21
6.1 引言

在自然科学中和经济的许多领域中,常常会遇到一阶常微分方程的初值问题。

y'=f(t,y) a≤t≤b                                             (1.1)

y(a)=η

此处f为t,y 的已知函数,η是给定的初始值,y(a)=η 称为初始条件。

如果f(t,y)是带形区域R={(t,y)|a≤t≤b,-∞<y< ∞}中连续,且关于y满足Lipschitz条件,存在常数L,使得

|f(t,y1)-f(t,y2)|≤ L|y1-y2|                               (1.2)

对所有的t∈[a,b]以及任何y1,y2都成立,那么初值问题(1.1)存在唯一的连续可微解y=y(t).

在许多实际问题中,微分方程的右端f(t,y)以及初始值η常常是由观察测得到的,因此我们除了保证初始值问题有解外,还必须保证它是适合的,即当η和f(t,y)有微小摄动时,只能引起初值问题(1.1)的解的微小变动。更确切的定义如下:

假设初值问题(1.1)有唯一y=y(t),如果存在正常数K, ε使得对任何ε1≤ε,当

|η1-η|<ε     以及      |δ(t)|<ε,  a≤t≤b

此时,摄动初值问题:

z'=f(t,z)+δ(t) ,  z(a)=η

有唯一解z(t),并且满足:

|y(t)-z(t)|≤kε

那么称初值问题(1.1)是适当的。


定理2

如果f(t,y)在R={(t,y)|a≤t≤b,-∞<y< ∞}中连续,且关于y满足Lipschiz条件连续,且关于y满足Lipschitz条件,那么初值问题(1.1)是适当的。这条定理在光学中怎么应用?

在照明光学设计中,根据自由曲面表面法线求解表面数据,其过程即为微分方程的求解。而此微分方程,符合定理1的条件。

一般,若无特别申明,我们总假定初值问题(1.1)满足定理1的条件,从而它有唯一的连续可调的解,并且它是适定的。

以上定理1、定理2,繁琐的描述,均是数学学科的严谨性所致,为了限定此方法的适用范围,为了保证常微分方程数值解法的正确性和严谨性。实际中遇到的问题,基本都是在定理1、定理2所限制的范围之内。


作者: fdsadfdsid    时间: 2017-1-13 11:04
fdsadfdsid 发表于 2017-1-13 10:21
6.1 引言
在自然科学中和经济的许多领域中,常常会遇到一阶常微分方程的初值问题。y'=f(t,y) a≤t≤b       ...

lipschitz条件:利普希茨连续条件(Lipschitz continuity)是以德国数学家鲁道夫·利普希茨命名,是一个比一致连续更强的光滑性条件。

若存在常数L, 使得对定义域D的任意两个不同的实数x1、x2均有:

      || f(x1)-f(x2) ||≤L|| x1-x2 ||
      成立,则称f(x)在D上满足利普希茨 ( Lipschitz ) 条件,L 称为利普希茨常数。显然地,若f(x)满足利普希茨条件,则f(x)一致连续。

利普希茨连续条件(Lipschitz continuity)是以德国数学家鲁道夫·利普希茨命名,是一个比一致连续更强的光滑性条件。直观上,利普希茨连续函数限制了函数改变的速度,符合利普希茨条件的函数的斜率,必小于利普希茨常数。

在微分方程理论中,利普希茨条件是初值条件下解的存在唯一性定理中的一个核心条件。 一些特殊的利普希茨函数,例如压缩映射,被应用在巴拿赫不动点定理中。


作者: fdsadfdsid    时间: 2017-1-13 11:23
6.2  离散变量法和离散误差

在实际问题中,所得到的初值问题往往不能求得它的解的解析表达式,只能得到它的近似解,求初值问题(1.1)的精确解y(t),在一些列离散点:

t1,t2........,tn

处的近似值

y1,y2.......,yn

用y(tn)表示y(t)在t=tn处的值,则yn为y(tn)的近似值,n=1,2,....N。这样我们把一个连续型问题(1.1)化为一个离散问题。这个过程称为离散化过程。

我们取离散点为

tn+1=tn+hn

t0=a

hn称为步长。通常取hn=h,即离散点 t0,t1,t2........,tN, 为等距的,

此时

tn=a+nh, n=0,1,...,N

Nh=b-a


例1

初值问题1.1中的初值条件y(a)=y(t0)=η是给定的,因此可以算出我们用差商

[y(t1)-y(t0)]/h

近似的替代y(t)在t=t0处的导数y'(t0),即

y'(t0)=[y(t1)-y(t0)]/h

于是,

y(t1)≈y(t0)+h*f(t0,y(t0))

记住y0=y(t0)=η,则可取

y1=y0+h*f(t0,y0)

作为y(t1)的近似值,再利用y1及f(t1,y1),取

y2=y1+h*f(t1,y1)

作为y2(t2)的近似值

一般取:

yn+1=yn+hf(tn,yn), n=0,1,2,3.....N-1

其中y0=y(t0)=η

作为y(tn+1)的近似值。


通常方程

F(tn,yn,△yn△^2yn,...,△^kyn)=0

称为一个K阶差分方程

(2.1)式可写成

△yn=hf(tn,yn)

它是一个一阶差分方程。

以上推到说明,离散化过程,把微分方程初值问题(1.1)化为一个差分方程初值问题  然后求差分方程初值问题的解yn作为微分方程初值问题的解y(t)在t=tn处的近似值。这样的离散变量方法又称为差分方法,

(2.1)是初值问题(1.1)的Euler方法的计算公式


关于离散化方法,通常有三种差商代替导数的方法,Taylor级数法和数值积分法。

(一)差商代替导数的方法

我们用差商近似地替代微分方程(1.1)中的导数,从而把微分方程初值问题化为一个差分方程初值问题。在(2.1)公式的推到中就是采用这种方法导出Euler方法。


(二)Taylor级数法

我们假设处置问题(1.1)满足定理1的条件,且函数f是足够次可微的,根据Taylor公式,有:

[attach]5744[/attach]
[attach]5745[/attach]

(2.6)是一个一阶差分方程,因此我们把求解微分方程初值问题(1.1)化求解差分方程初值问题(2.6)。

由于初值问题(1.1)的精解y(t)满足(2.5)式,因此我们称

[attach]5746[/attach]


为数值方法(2.6)的局部离散误差,或局部截断误差,假如yn=y(tn), 据(2.5)和(2.7)式可知

y(tn+1)=yn+1+Rn

因此,局部离误差(2.7)表示yn=y(tn)为精确时,利用(2.6)计算y(tn+1)得近似值yn+1的误差,据(2.7)式,我们有:

Rn=O(h^p+1)


假如yn 是在无舍入的误差的情形下(2.6)计算的微分方程初值问题(1.1)近似解,则称:

εn=y(tn)-yn

为数值方法(2.6)的整体离散误差


取p=1时,(2.6)便可写成

[attach]5747[/attach]


这又导出了Euler方法,其局部离散误差为:

[attach]5748[/attach]

取p=2时,(2.6)便可写成:

[attach]5749[/attach]

其局部离散误差为:

[attach]5750[/attach]


(三)数值积分方法

对微分方程

y'=f(t,y)

在区间[tn,tn+1]上求积分得:

[attach]5751[/attach]

若(2.9)右端的积分的被积函数f(t,y(t))换成它的插值多项式,或对(2.9)式右端积分使用数值积分公式,我们将得到解初值问题(1.1)的数值方法。

[attach]5761[/attach]

这样,求解初值问题(1.1)便化为解差分方程初值解问题(2.10)。我们称2.10位梯形方法。它的局部离散误差位

[attach]5762[/attach]


作者: fdsadfdsid    时间: 2017-1-15 11:34
6.3 单步法

离散变量法可分成单步法和多步法,解初值问题(1.1)的一个离散变量法称为单步法是指,在其计算公式从初始值。

y0=η出发,依次计算y1,y2,y3....的过程中,计算yn+1时,仅仅需要用yn+1时仅仅需要用到yn,例如在$2节中提到的Euler犯法和提醒方法都是单步法,若计算yn+1时要用到yn,yn-1,yn-2.....yn-k+1 的值,则称此方法为k步法。

这一节,我们将介绍微分方程初值问题的离散变量法中一些常用的单步法,并讨论与之有关的问题,求解初值问题(1.1)的单步法的一般形式可以表示成:

[attach]5763[/attach]



[attach]5764[/attach]

其中Φ为某一函数,称为增量函数,N是一个正整数,h=(b-a)/N 。(3.1)的右端仅出现yn,yn+1和增量函数明显地计算得。我们称为(3.1)为显示方程,例如Euler方法。

(3.2)的右端不仅出现yn,而且在增量函数中还隐含yn+1,这样的方法,称为隐式方法,例如梯形方法。

6.3.1 Euler方法

Euler方法实际上已经很少用了,但是因为它的概念简单,易于分析,并且它的误差和稳定分析较为典型,因此我们再来讨论Euler方法,在(3.1)中,取Φ(t,y,h)=f(t,y)使得到Euler方法:

[attach]5765[/attach]

N是一个正整数,h=(b-a)/N。据(3.3)式,从y0=η 出发,可依次计算出y1,y2,y3...,yn,他们分别为初值问题(1.1)的解y(t)在t1,t2,...tn值

y(t1),y(t2),....y(tn)的近似值,其中t0=a,tn=a+nh,n=0,1....N.

Euler方法的计算如下

算法6.1 应用Euler方法计算初值问题

y'=f(t,y) ,a≤t≤b

y(a)=η

的解y=y(t)在区别[a,b]上的N个等距点的近似值,输入端点[a,b];区间等分数N;初值η,输出y(t)在t的N个点近似值y。

step 1

[attach]5766[/attach]

Euler方法有明显的几何解释(10.1).











欢迎光临 照明论坛-LED论坛-照明家族 (http://lightingfamily.net/) Powered by Discuz! X3.4