常微分方程初值问题12.1引言在数学模型中经常出现的常微分方程在科学的许多分支中同样出现,例如工程和经济学。
不幸的是却很少出现这些方程可得到表示在封闭的形式的解的情况,所以通常采用数值方法来寻找近似解。
如今,这通常可以非常方便的达到高精度和在解析解和数值逼近之间可靠的误差界。
在本节我们将关注一阶微分方程(12.1)形式关于实值函数y的实变量x的结构和数值分析方法,其中和f是一个给定的实值函数的两个变量。
为了从解曲线的无限族选择一个特定的积分构成(12.1)的通解,微分方程将与初始条件一起考虑:给定两个实数和,我们寻求一个(12.1)的解决方案,对于有(12.2)微分方程(12.1)与初始条件(12.2)被称为一个初值问题。
如果你认为任何(12.1),(12.2)形式的初始值问题具有一个唯一解,看看以下例子。
例12.1考虑微分方程,初始条件,其中α是一个固定的实数,α∈(0,1)。
这是一个关于上述想法的简单验证,对于任何非负实数C,是初值问题在区间[ 0,∞)上的一个解。
因此解的存在性是肯定的,但解不一定唯一;事实上,初始值问题的解有一个无限族,当参数。
我们注意到,在与α∈(0,1)相反的情况下,当α≥1,初值问题,具有唯一解y(x)≡0。
例12.1表明函数f必须遵循相对于它的第二个参数的一定的增长性条件,以保证(12.1),(12.2)有唯一解。
精确的保证初始值问题(12.1),(12.2)假设f解的存在惟一基于下面的定理。
定理12.1(Picard theorem)假定实值函数是连续的矩形区域D定义;当时;且f 满足Lipschitz条件:存在L>0则。
进一步假设。
(12.3)然后,存在一个唯一函数,使得和其中;此外,。
证明我们定义一个函数序列为(12.4)。
因为f在D上连续,所以显然每个函数在上是连续的。
此外,由于因此,通过减法我们得到(12.5)。
我们现在进行推导,并且假设对于一些n的正值成立,(12.6)。
而且(12.7)。
那么,该定理的假设和(12.4)意味着(12.6)和(12.7)在n = 1时成立。
现在,(12.7)和(12.3)得出。
因此,和对于所有。
所以,使用(12.5),Lipschitz条件和(12.6)得到,(12.8)。
对于所有的。
进一步,使用(12.8)和(12.7)得到,(12.9)。
对于所有的。
因此,(12.6)和(12.7)仍然成立当用n+1取代n时,并且,通过归纳,他们对于所有的正整数n都成立。
由于无穷级数收敛于对于的任何值,而且特别的,对于,它服从(12.6)那么无穷级数绝对一致收敛对于。
然而,显示连续函数列一致的收敛于一个极限,在上,而且因此极限本身是一个连续的函数。
调用此极限y,我们从(12.4)看到,(12.10)。
在这里我们使用一致收敛的函数列从二线到三线过渡来交换极限过程和积分法的顺序,和函数f从三线到四线过渡的秩序性。
因为是一个关于s的连续函数在区间,它在区间[ x0,x ]上的积分是关于x的连续可微函数。
因此,通过(12.10),y是连续可微函数其中x在[ x0,XM ];即,。
在求(12.10)的微分我们演绎得到根据要求;同时。
我们已经看到,当时;因为D是中的闭集,令后,它同样遵循当。
为了表明,初值问题的解是唯一的,假设,如果可能的话,有两种不同的解y和z,然后,通过减法,从中可得(12.11)对于所有的。
假设M关于表达式的最大值,其中,且m>0。
于是,将此不等式代入(12.11)的右边我们发现。
以类似的方式进行,我们很容易通过归纳得出对于所有的。
然而,在最后一个不等式的右边以为上界,对于所有的,可通过选择k足够的大达到任意小。
因此,必须为零对于所有。
因此,解y和z是相同的。
在应用这个定理时,选择一个满足Picard定理的常数值C使各种假设均符合条件是十分重要的,特别是(12.3);不难看出如果在(x0,y0)的一个邻域内连续,条件将得到满足如果足够小。
作为一个很简单的例子,考虑线性方程(12.12)其中p和q是常数。
然后,,C是独立的,且。
因此,对于任意区间,通过选择C足够大来满足条件;因此,初值问题有一个唯一的连续可微解,定义对于所有的。
现在,考虑另一个例子。
在这里,对于任意区间,我们有K = 1 。
选择任意关于C的正值我们发现,当L = 2(1 + C)。
因此我们现在需要的条件。
这是符合条件的如果其中ln表示。
函数F关于C的草图表明,F的最大值C = 1.714附近,且给了条件(见图12.1)。
因此,我们无法证明解的存在性在无穷区间[ 0,∞)。
这当然是正确的,当初始值问题的唯一解为这是不连续的,更别说是连续可微的,在任意区间当。
Picard定理的条件,对于解的唯一存在性是充分的但不是必要的,在解存在时给出了一个更严格的对于区间大小的约束。
Picard定理的证明方法也给出了一个构造近似解的可能方法,通过从(12.4)中确定函数。
在实践中,它是不可能的,或者说很难,评估在封闭形式的必要积分。
我们画图12.1。
函数 在区间[ 0,4 ]的图;F实现其最大值C = 1.714且F(C)≤0.43对于所有C≥0。
把它作为一个练习(见练习3)表明,对于简单的线性方程(12.12),初始条件y(0)= 1,函数与从精确解中获取近似解一样通过扩大指数函数为幂级数和保留条件直到一个包含。
在本章的剩余部分我们将会考虑一步一步求解初始值问题(12.1),(12.2)的近似解的数值方法。
我们假设函数f满足Picard定理的所有条件。
假设初值问题(12.1),(12.2)在区间上有解。
我们把这个区间通过网格点,n = 0,1,。
..,N,其中,且N是正整数。
正实数h称为步长或网格尺寸。
对每一个n我们寻找一个数值逼近,解析解的数值在网格点上;这些数值能逐次计算,对于n =1,2,。
..,N。
12.2一步法一个一步法为依照前边数值来表示,随后我们考虑K步法,其中依照k的前值,其中K≥2。
关于初值问题的数值解最简单的一步法的例子是欧拉法。
欧拉法。
给定,让我们假设我们有已经计算了,直到出现一些n, 0≤n≤N−1,N≥1;我们定义因此,对于连续的n = 0,1,......,N-1,一步一步的迭代,在网格点的近似值可以十分容易地获得。
这个数值方法称为欧拉法。
为了改进欧拉方法的定义,让我们观察这对扩大为关于的泰勒级数,只保留前两项,记,我们有在用和的数值逼近更换后,分别通过和表示,然后舍弃的项,我们到达欧拉法。
更一般地,一步法,可以被写成(12.13)其中Φ(·,·;·)是其变量的连续函数。
例如,在欧拉法的情况下,。
更复杂的一步法的例子将在下面讨论。
为了评估数值方法(12.13)的准确性,我们定义全局误差,,其中我们还需要截断误差的概念,,定义(12.14)接下来的定理提供了一个关于截断误差的整体误差的大小范围。
定理12.2考虑(12.13)一般一步法,在除了其参数的连续函数,假定Φ关于于它的第二个参数满足Lipschitz条件,即存在一个为正的常数这样,对于和所有的(x,u)与(x,v)在矩形区域我们有(12.15)然后,假设,n = 1,2,。
..,N,则可得,,n = 0,1,....,N,(12.16)其中。
证明重写(12.14)为从中减去(12.13)由此,我们得到然后,因为和属于D,(12.15)Lipschitz条件意味着n = 0,1,....,N -1。
(12.17)即为,n = 0,1,....,N -1。
由前文这很容易得出由于。
观察得出(12.16)。
让我们应用这个总结论来获得一个在欧拉法的整体误差范围。
欧拉法的截断误差由下式给出(12.18)假设,即,y是关于x在上二次连续可微函数,将展开成关于泰勒级数余项(见定理A.4),我们有将此扩展到成(12.18)给出让。
然后,,N = 0,1,....,N- 1,其中。
将其插入到(12.16)且注意到欧拉法,因此,其中L是关于f 的Lipschitz常数,我们有,N = 0,1,...,N。
(12.19)让我们高度重视通过聚焦误差分析的实际意义在一个具体的例子。
例12.2让我们考虑初始值问题,,其中是一个给定的实数。
为了找到一个整体误差的上界,其中是的欧拉近似,我们需要在不等式(12.19)确定的常数L和。
这里;因此,利用平均值定理(定理A.3),其中η介于u和v之间,在我们的例子中因此,L = 1。
为了找出我们需要获得一个在上的界绑定(其实不用解决初值问题!)。
这是很容易实现的,通过对微分方程两边关于变量x微分:因此,。
插入L和的值到(12.19)注意到x0=0,我们有,n= 0,1,...,N。
因此,给定一个公差TOL,预先指定的,我们可以保证(未知)的解析解和数值解近似之间的误差不超过该容忍度通过选择一个正步长h如下,这样我们就有n = 0,1,...,N,如果需要。
因此,至少在原则上,我们可以计算出的数值解通过选择足够小的步长h来达到任意高的精度。
数值实验表明该误差估计是相当悲观。
例如,和,我们的界意味着,容忍度TOL= 0.01将在h≤0.0074时达到;因此,看来,我们需要N≥135。
事实上,使用N = 27用欧拉法给出的结果就在容忍度内,所以误差估计预测的使用的步长比实际需要的五倍还小。
例12.3作为典型实例,考虑问题(12.20)其中假设解已知为在区间x∈[ 0,1.6 ]上的一些数值计算结果如图12.2所示。
他们使用的步长大小为0.2,0.1和0.05,显示步长的减少如何减少误差也通过一个大约为2的因素,与(12.19)的误差界一致。
图12.2.关于(12.20)的欧拉法解。
精确解(实曲线)和三组所展示的结果(大,中,小圆点),分别采用步长为0.2的8个点,步长为0.1的16个点,步长为0.05的32个点在区间[ 0,1.6 ]。
12.3一致性和收敛性回到(12.13)一般的一步法,我们考虑函数的选择。
定理12.2表明如果截断误差“接近零”当,那么整体误差也“收敛到零”。
这个观察促使以下定义。
定义12.1(12.13)数值方法与是微分方程(12.1)是一致的,如果通过(12.14)定义的截断误差为任意ε> 0存在一个正的h(ε),其中,当且任何对点在任何解曲线D上。
对于(12.13)一般的一步法我们假设函数是连续的;因为也是一个在上的连续函数,由(12.14)它服从如下极限和,且,我们有在这个极限在在区间趋于一个极限点x的方式下,h趋于零,n趋于无穷。
这意味着(12.13)一步法是一致的如果,且只有如果,(12.21)这种情况有时作为一致性的定义。
我们今后总是假设(12.21)成立。