第十一章 常微分方程边值问题的数值解法

更新时间:2023-11-06 06:09:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

第十一章 常微分方程边值问题的数值解法

工程技术与科学实验中提出的大量问题是常微分方程边值问题.本章将研究常微分方程边值问题的数值求解方法.主要介绍三种边界条件下的定解问题和两大类求解边值问题的数值方法,打靶法算法和有限差分方法.

11.1 引言

在很多实际问题中都会遇到求解常微分方程边值问题. 考虑如下形式的二阶常微分方程

y???f(x,y,y?), a?x?b, (11.1.1)

在如下三种边界条件下的定解问题: 第一种边界条件:

y(a)??, y(b)?? (11.1.2)

第二种边界条件:

y?(a)??, y?(b)?? (11.1.2)

第三种边界条件:

?y?(a)??0y(a)?a1, (11.1.13) ??y(b)??y(b)?b01?其中a0?0, b0?0, a0?b0?0.

常微分方程边值问题有很多不同解法, 本书仅介绍打靶方法和有限差分方法.

11.2 打靶法

对于二阶非线性边值问题

y???f?x,y,y??,a?x?b,y?a???,y?b???. (11.2.1)

打靶法近似于使用初值求解的情况. 我们需要利用一个如下形式问题初值解的序列:

w???f?x,w,w??,a?x?b,w?a???,w?(a)?v, (11.2.2)

引进参数v以近似原边界值问题的解.选择参数v?vk,以使:

limw?b,vk??y?b???, (11.2.3)

k?? 1

其中w(x,vk)定义为初值问题(11.2.2)在v?vk时的解,同时y?x?定义为边值问题(11.2.1)的解.

首先定义参数v0,沿着如下初值问题解的曲线,可以求出点(a,?)对应的初始正视图

w???f?x,w,w??,a?x?b,w?a???,w?(a)?v. (11.2.4)

如果w(b,v0)不严格收敛于?,那么我们选择v1等值以修正近似值,直到w(b,v0)严格逼近?.

为了取得合适的参数vk,现在假定边值问题(11.2.1)有唯一解,如果w(x,v)定义为初始问题(11.2.2)的解,那么v可由下式确定:

w(b,v)???0. (11.2.5)

由于这是一个非线性方程,我们可以利用Newton法求解.首先选择初始值v0,然后由下式生成序列

vk?vk?1?(w(b,vk?1)??)dwdw,此处()(b,vk?1)?(b,vk?1), (11.2.6)

dwdvdv()(b,vk?1)dv同时要求求得(dw)(b,vk?1),因为w(b,v)的表达式未知,所以求解这个有一点难度;dv??w(b,vk?1)。我们只能得到这么一系列的值w(b,v0),w(b,v1),w(b,v2),

假如我们如下改写初值问题(11.2.2),使其强调解对x和v的依赖性

w???f?x,w(x,v),w?(x,v)?,a?x?b,w?a,v???,w?(a,v)?v,(11.2.7)

保留初始记号以显式与x的微分相关.既然要求当v?vk时(需要求出表达式(11.2.7)关于v的偏导数.过程如下:

dw)(b,v)的值,那么我们dv?w???f(x,v)?(x,w(x,v),w?(x,v))?v?v

?f?x?f?w?(x,w(x,v),w?(x,v))?(x,w(x,v),w?(x,v))(x,v)?v?w?v ?x

?f?w??(x,w(x,v),w?(x,v))(x,v)??w?v

又因为x跟v相互独立,所以当a?x?b上式如下;

2

?w???f?w?f?w?(x,v)?(x,w(x,v),w?(x,v))(x,v)?(x,w(x,v),w?(x,v))(x,v)?v?w?v?w??v(11.2.8)

初始条件为:

?w?w?(a,v)?0,(a,v)?1 ?v?v?w如果简单地用z(x,v)定义()(x,v),并且假定x和v的微分阶翻转,(11.2.8)转化

?v为初值问题:

..?f?fz?(x,w,w?)z?(x,w,w?)z,a?x?b,z(a)?0,z(a)?1?w?w?,(11.2.9) ..因此,对于(11.2.2)和(11.2.9)式的每次迭代需要求解两个初值问题.那么从(11.2.6)式可得:

vk?vk?1?w(b,vk?1)??z(b,vk?1), (11.2.10)

事实上,这些初值问题很难精确求解,而将这些解近似为一个初值问题的解.

同样,我们可以按以上步骤考虑对于三阶非线性边值问题的打靶法算法. 对于三阶非线性边值问题

y????f?x,y,y?,y???,a?x?b,y?a???,y??a???,y?(b)??.(11.2.11)

转变形式:

w????f?x,w,w?,w???,a?x?b,w?a???,w?(a)??,w??(a)?v,(11.2.12)

选择参数v?vk,以使:

limw??b,vk??y?b???, (11.2.13)

k??其中w?(x,vk)定义为初值问题(11.2.12)在v?vk时的解,同时y?x?定义为边值问题(11.2.11)的解.

定义参数v0,沿着如下初值问题解的曲线,可以求出点(a,?)对应的初始正视图

w????f?x,w,w?,w???,a?x?b,w?a???,w?(a)??,w??(a)?v.(11.2.14)

如果w?(b,v0)不严格收敛于?,那么我们选择v1等值以修正近似值,直到w?(b,v0)严

3

格逼近?.

为了取得合适的参数vk,现在假定边值问题(11.2.11)有唯一解,如果w(x,v)定义为初始问题(11.2.12)的解,那么v可由下式确定:

w?(b,v)???0. (11.2.15)

利用Newton法求解.首先选择初始值v0,然后由下式生成序列

vk?vk?1?(w?(b,vk?1)??)dw?dw?,此处()(b,vk?1)?(b,vk?1), (11.2.16)

dw?dvdv()(b,vk?1)dv同时要求求得(dw?)(b,vk?1),因为w?(b,v)的表达式未知,所以只能得到这么一系列dv??w?(b,vk?1)。的值w?(b,v0),w?(b,v1),w?(b,v2),

改写初值问题(11.2.12),使其强调解对x和v的依赖性

w????f?x,w(x,v),w?(x,v),w??(x,v)?,a?x?b,w?a,v???,w?(a,v)??,w??(a,v)?v要求当v?vk时( (11.2.17)

dw?)(b,v)的值,那么我们需要求出表达式(11.2.17)关于v的偏导dv?w????f?w?f?w??f?w?? (11.2.18) (x,v)????v?w?v?w??v?w???v数.所以当a?x?b上式如下;

初始条件为:

?w?w??w??(a,v)?0,(a,v)?0,(a,v)?1 ?v?v?v对于第三种边界条件, 注意到 y(a)?y'(a)?a1, 取 y'(a)?s得到 a0?y?f(x,y,y')?, a?x?b, (11.2.19) y'(a)?a1?y(a)?, y'(a)?s?a0?设它的解为y(x,s), 代入第二个边界条件得到

y?(b)?β0y(b)?y'(b,s)?β0y(b, s)?F(s)?βs

4

F(s)?βs

当?s??1 时, 即为所求的解. 这样,同第一种边界条件一样, 可以利用打靶方法求解.

例11.1 利用打靶法求解两点边值问题

?y???(y?)2?x?0 ??y(0)?0,y(0.4)?1.8解:(1) 为应用打靶方法,需要假定初值y?(0)来先求解初值问题,取初始参数

?y???(y?)2?x1.8?1 t0??2, 解??0.4?0y(0)?0,y(0)?2?令y?u1,y??u2,则上述初值问题变为

??u1??u2,u1(0)?1, 由标准的R-K 方法,取h?0.2,可得?0?2.540。 ?2??u2??u2?x,u2(0)?2(2)再令t1?1, 解

??u1??u2,u1(0)?1, 取h?0.2。 ?2??u2??u2?x,u2(0)?1仍由标准的R-K 方法,可得?1?1.497?1.8。 (3)令t2?1?1?2(1.8?1.497)?1.29

1.497?2.540??u1??u2,u1(0)?1再解?, 取h?0.11,得?2?1.7094。

2??u2??u2?x,u2(0)?1.29(1.29?1)(1.8?1.7094)(4)令t3?1.29??1.414,得?3?1.81978

1.7094?1.497(5)类似有,t4?1.38,??1.78879,t5?1.3960,??1.79995 因为?5?1.8?0.00005, 可以认为t?1.3960即为所求。

11.3 有限差分方法

有限差分方法常用来求解常微分方程边值问题, 下面就线性微分方程为例进行讨论. 设微分方程具有形式:

5

本文来源:https://www.bwwdw.com/article/t0p2.html

Top