Skip to content

19.4.2 边值问题

求解常微分方程边值问题最重要的方法用于下面二阶微分方程的简单线性边值问题:

y(x)+p(x)y(x)+q(x)y(x)=f(x)(axb),其中y(α)=α,y(β)=β,

(19.118)

其中函数 p(x),q(x),f(x) 及常数 α,β 是已知的.

给出的方法也适于求解高阶微分方程边值问题.

19.4.2.1 差分法

区间 [a,b] 被等距节点 xv=x0+vh(v=0,1,2,,n;x0=a,xn=b) 等分, 在内部插值点将所谓有限差分代替微分方程

(19.119)y(xν)+p(xν)y(xν)+q(xν)y(xν)=f(xν)(ν=1,2,,n1)

中的导数值, 例如:

(19.120a)y(xν)yν=yν+1yν12h,(19.120b)y(xν)yν=yν+12yν+yν1h2.

考虑到边界条件 y0=α,yn=β ,由此得到区间 [a,b] 内关于 n1 个插值 yv y(xv)n1 个线性方程. 若边界条件包含导数,则也必须由有限差分来代替.

微分方程组 (参见第 753 页 9.1.3.2) 的特征值问题可以类似处理. 应用由 (19.119) 与 (19.120a, 19.120b) 表述的有限差分法即得到矩阵特征值问题 (参见第 421 页 4.6).

求解带边值条件 y(0)=y(1)=0 的齐次微分方程 y+λ2y=0 导致矩阵特征值问题. 有限差分法将微分方程转化为差分方程 yv+12yv+yv1+h2λ2yv=0 . 如果选取三个内点,此时 h=1/4 ,考虑到 y0=y(0)=0,y4=y(1)=0 ,则离散方

程组为

(2+λ216)y1+y2=0,y1+(2+λ216)y2+y3=0,y2+(2+λ216)y3=0.

仅当系数行列式为零时该齐次线性方程组有非平凡解. 该条件导致特征值 λ12= 9.37,λ22=32,λ32=54.63 . 在这些特征值里只有最小的一个接近相应的真值 9.87.

注 差分法的精度可以这样改进:

(1) 减小步长 h ;

(2) 应用导数的高阶逼近 (如 (19.120a,19.120b) 的逼近有 O(h2) 阶误差);

(3) 应用多步法 (参见第 1261 页 19.4.1.3).

若问题是非线性边值问题,则差分法导致未知近似值 yν 的非线性方程组 (参见第 1249 页 19.2.2).

19.4.2.2 用已知函数逼近

边值问题 (19.118) 的近似解是适当选取的线性无关函数 gi(x) 的线性组合,并

满足边界条件

(19.121)y(x)g(x)=i=1naigi(x).

g(x) 代入微分方程 (19.118) 得到的误差称为亏量:

(19.122)ε(x;a1,a2,,an)=g(x)+p(x)g(x)+q(x)g(x)f(x).

可用如下原则确定系数 ai .

1. 配置法

亏量要在给定的 n 个所谓配置点 xv 上为零. 由条件

ε(xν;a1,a2,,an)=0(ν=1,2,,n),a<x1<x2<<xn<b

(19.123)得到未知系数的线性方程组.

2. 最小二乘法

依赖于系数的积分

(19.124)F(a1,a2,,an)=abε2(x;a1,a2,,an)dx

应该最小. 必要条件

(19.125)Fai=0(i=1,2,,n)

给出了系数 ai 的线性方程组.

3. 伽辽金 (Galerkin) 法

需要满足所谓误差正交性, 即

(19.126)abε(x;a1,a2,,an)gi(x)dx=0(i=1,2,,n),

由此得到未知系数的线性方程组.

4. 里茨法

y(x) 常有使得变分积分极小化的性质

(19.127)I[y]=abH(x,y,y)dx

(见 (10.4)). 若函数 H(x,y,y) 已知,则将 y(x) 换为 (19.121) 中的近似函数 g(x) , I[y]=I(a1,a2,,an) 极小化. 由必要条件

(19.128)Iai=0(i=1,2,,n)

得到系数 ain 个方程.

在关于函数 p,q,f,y 的一定条件下,边值问题

(19.129)[p(x)y(x)]+q(x)y(x)=f(x),其中y(α)=α,y(β)=β

与其变分问题

I[y]=ab[p(x)y2(x)+q(x)y2(x)2f(x)y(x)]dx=min,(19.130)其中y(α)=α,y(β)=β

等价. 于是对于边值问题 (19.129),由 (19.130) 立即得到 H(x,y,y) .

代替逼近 (19.121), 常考虑

(19.131)g(x)=g0(x)+i=1naigi(x),

其中 g0(x) 满足边值,而函数 gi(x) 满足条件

(19.132)gi(a)=gi(b)=0(i=1,2,,n).

例如, 对问题 (19.118), 适当的选择是

(19.133)g0(x)=α+βαba(xa).

注 在线性边值问题中, 由 (19.121) 和 (19.131) 可得系数的线性方程组. 对于非线性边值问题, 得到的非线性方程组可用第 1249 页 19.2.2 中给出的方法求解.

19.4.2.3 打靶法

边值问题的解用打靶法可化为初值问题的解. 该法的基本思想用单目标打靶法描述如下.

1. 单目标打靶法

初值问题

(19.134)y+p(x)y+q(x)y=f(x),其中y(α)=α,y(α)=s

关联于边值问题 (19.118). 这里初值问题 (19.134) 的解 y 依赖于参数 s ,即 y= y(x,s) 成立. 根据 (19.134),函数 y(x,s) 满足第一个边界条件 y(a,s)=α . 参数 s 应由函数 y(x,s) 满足第二个边界条件 y(b,s)=β 来确定. 因此,需要求解方程

(19.135)F(s)=y(b,s)β,

试位法 (割线法) 就是适当的求解方法. 只需要求出函数 F(s) 的值,但是对每一个特别的参数 s ,计算函数值都需要求解初值问题 (19.134) 直到 x=b . 19.4.1 已给出此计算方法.

2. 多目标打靶法

在所谓多目标打靶法中,积分区间 [a,b] 被分为子区间,在每个子区间上用单目标打靶法. 于是要求的解由子区间上的解构成, 这里必须保证在子区间的端点连续过渡.

这就要求更多的条件. 对于大多用于非线性边值问题的多目标打靶法的数值实现, 见 [19.31].

version 1.24.0