微分方程(解析解和数值解的关系,解的存在性和唯一性)

写在前面

之前学习过工科的常微分方程课程,学了一堆求解常微分方程解析解的技巧。也学了工科的数值分析课程,学了一堆对于微分方程的数值求解算法。但是,有一些问题始终在脑子中没有想的很清楚(有的东西学了是学了,但是带没带脑子去学就不知道了。。。),今天把两个十分重要的问题重新理了一遍,记录如下。

第一个问题:微分方程的解析解和数值解

对于微分方程,工程上经常使用数值算法来求解,比如控制系统一般将系统的微分方程离散化来计算。如果我们这个世界真的是连续的(使用微分方程建模的物理过程是连续变化的),但是使用离散方法来计算能逼近真实的解析解吗?
对于微分方程 d y d x = f ( x ) \frac{dy}{dx}=f(x) dxdy=f(x),初值 y ( x 0 ) = y 0 y(x_{0})=y_{0} y(x0)=y0。设 y = y ( x ) y=y(x) y=y(x)是满足初值条件的解析解,且 y ( x ) y(x) y(x)具有二阶导数(真实情况不一定存在,这里假设存在为了后续的数值解的误差分析)。考虑使用Euler法进行数值求解,迭代步长取为 h h h,得数值迭代序列为 ( x 0 , y 0 ) , ( x 0 + h , y 0 + f ( x 0 ) h ) , . . . (x_{0}, y_{0}), (x_{0}+h, y_{0}+f(x_{0})h), ... (x0,y0),(x0+h,y0+f(x0)h),...
在这里插入图片描述
Fig. 1 数值解和解析解的误差示意图
如Fig. 1所示,图中曲线为微分方程的解析解, y ( x 0 + ( n − 1 ) h ) y(x_{0}+(n-1)h) y(x0+(n1)h) y ( x 0 + n h ) y(x_{0}+nh) y(x0+nh)的真实差值为 y ′ ( x 0 + ( n − 1 ) h ) + y ′ ′ ( ξ ) 2 ! h 2 y^{'}(x_{0}+(n-1)h)+\frac{y^{''}(\xi)}{2!}h^{2} y(x0+(n1)h)+2!y′′(ξ)h2(注意 y ′ ( x ) = f ( x ) y^{'}(x)=f(x) y(x)=f(x)),其中 ξ ∈ ( ( n − 1 ) h , n h ) \xi \in((n-1)h,nh) ξ((n1)h,nh)

在使用Euler法求解微分方程的数值解时, y ^ ( x 0 + n h ) − y ^ ( x 0 + ( n − 1 ) h ) = f ( x 0 + ( n − 1 ) h ) h \hat{y}(x_{0}+nh)-\hat{y}(x_{0}+(n-1)h)=f(x_{0}+(n-1)h)h y^(x0+nh)y^(x0+(n1)h)=f(x0+(n1)h)h。我们可以发现解析解从 x 0 + ( n − 1 ) h x_{0}+(n-1)h x0+(n1)h x 0 + n h x_{0}+nh x0+nh与数值解计算出来的误差为 y ′ ′ ( ξ ) 2 ! h 2 \frac{y^{''}(\xi)}{2!}h^{2} 2!y′′(ξ)h2

如果 ∣ y ′ ′ ( x ) ∣ ≤ C |y^{''}(x)|\leq C y′′(x)C,其中 C > 0 C>0 C>0。通过Euler法迭代出来的数值解在 x = x 1 = x 0 + n h x=x_{1}=x_{0}+nh x=x1=x0+nh(在 [ x 0 , x 1 ] [x_{0},x_{1}] [x0,x1]区间以 h h h为迭代步长)处累计误差小于 C 2 n h 2 \frac{C}{2}nh^{2} 2Cnh2 C 2 n h 2 = C 2 ( x 1 − x 0 ) h \frac{C}{2}nh^{2}=\frac{C}{2}(x_{1}-x_{0})h 2Cnh2=2C(x1x0)h),则可以看出来当迭代步长 h h h趋向于 0 0 0时,Euler法的数值解的误差无限趋向于 0 0 0

可以看出来微分方程的数值迭代算法(最简单的Euler法)迭代出来的数值解也是有理论保证可以逼近到真实的解析解。

更复杂的微分方程的数值迭代算法可以控制更高的迭代误差阶数(比如Runge-Kutta方法),具体请查阅数值分析相关教材。

第二个问题:微分方程的解的存在性和唯一性

对于一个微分方程,我们知道不给初值的时候,方程可能存在很多解(通解)。比如, d y d x = 2 x \frac{dy}{dx}=2x dxdy=2x的通解为 y ( x ) = x 2 + C y(x)=x^{2}+C y(x)=x2+C
但是给定一个初值以后,有一些微分方程还是存在多个解。比如, d y d x = 3 y 2 3 \frac{dy}{dx}=3y^{\frac{2}{3}} dxdy=3y32的初值为 y ( 0 ) = 0 y(0)=0 y(0)=0,满足的解可以是 y ( x ) = 0 y(x)=0 y(x)=0,还可以是 y ( x ) = x 3 y(x)=x^{3} y(x)=x3

那么,对于一个微分方程,给定初值以后,还需要需要满足什么样的条件,方程的解存在且唯一呢?
【Picard定理】 设微分方程
d y d x = f ( x , y ) , y ( x 0 ) = y 0 (1) \frac{dy}{dx}=f(x,y),y(x_{0})=y_{0} \tag{1} dxdy=f(x,y)y(x0)=y0(1)
满足如下条件:

  1. f ( x , y ) f(x,y) f(x,y)在矩形区域 D = [ x 0 − a , x 0 + a ] × [ y 0 − b , y 0 + b ] D=[x_{0}-a,x_{0}+a]\times[y_{0}-b,y_{0}+b] D=[x0a,x0+a]×[y0b,y0+b]内连续;
  2. y y y D D D中满足Lipschitz条件,即存在常数 L L L,使得对任意 ( x , y 1 ) , ( x , y 2 ) ∈ D (x,y_{1}),(x,y_{2})\in D (x,y1),(x,y2)D,都有 ∣ f ( x , y 1 ) − f ( x , y 2 ) ∣ ≤ L ∣ y 1 − y 2 ∣ |f(x,y_{1})-f(x,y_{2})|\leq L|y_{1}-y_{2}| f(x,y1)f(x,y2)Ly1y2

则上述微分方程在区间 I = [ x 0 − δ , x 0 + δ ] I=[x_{0}-\delta,x_{0}+\delta] I=[x0δ,x0+δ]上存在唯一解,其中 δ = min ⁡ { a , b M } \delta=\min\{a,\frac{b}{M}\} δ=min{a,Mb},其中 M = max ⁡ ( x , y ) ∈ D ∣ f ( x , y ) ∣ M= \max\limits_{(x,y) \in D} |f(x,y)| M=(x,y)Dmaxf(x,y)
证明:
[Step 1: 等价求解转换]
上述定理中的微分方程的求解可以转换为对于下面积分形式的求解。
y ( x ) = y 0 + ∫ x 0 x f ( s , y ( s ) ) d s (2) y(x)=y_{0}+\int_{x_{0}}^{x}f(s,y(s))ds \tag{2} y(x)=y0+x0xf(s,y(s))ds(2)
这里需要详细说明,(1)的解一定是(2)的解,但是(2)的解一定是(1)的解吗?显然不是。因为可能给(2)找出来一个不连续的解 y ˉ ( x ) \bar{y}(x) yˉ(x)(称为弱解),(2)的弱解代入(1)中直接在不连续处不存在导数,这时(2)的弱解就不是(1)的解。如果(2)的解 y ( x ) y(x) y(x)是连续的(称为经典解),由于(2)的右侧的积分形式中的 f ( x , y ) f(x,y) f(x,y)连续,且 y ( x ) y(x) y(x)连续,则(2)的右侧可导,那么(2)的左侧 y ( x ) y(x) y(x)也可导,则(2)的经典解一定是(1)的解。
下面的证明过程我们将会看到通过对(2)构造出来的Picard函数序列 { y n ( x ) } \{y_{n}(x)\} {yn(x)},可以证明出来(2)的解存在且唯一,且因为Picard函数序列 { y n ( x ) } \{y_{n}(x)\} {yn(x)}中的每一个函数 y n ( x ) y_{n}(x) yn(x)都是连续的,且一致收敛(不妨记一致收敛到 y ∗ ( x ) y^*(x) y(x)),则 y ∗ ( x ) y^*(x) y(x)也连续可导(即(2)的经典解)。
所以,满足Picard定理中条件的微分方程(1)的积分形式(2)求解出来的解一定是(1)的解。又因为(2)的解存在且唯一,所以(1)的解存在且唯一。
[Step 2: Picard序列构造和Picard序列的一致收敛性]
构造Picard函数序列,
y 0 ( x ) = y 0 , ∣ x − x 0 ∣ ≤ h y_{0}(x)=y_{0}, |x-x_{0}|\leq h y0(x)=y0,xx0h
y 1 ( x ) = y 0 + ∫ x 0 x f ( s , y 0 ( s ) ) d s , ∣ x − x 0 ∣ ≤ h y_{1}(x)=y_{0}+\int_{x_{0}}^{x}f(s,y_{0}(s))ds, |x-x_{0}|\leq h y1(x)=y0+x0xf(s,y0(s))ds,xx0h
y 2 ( x ) = y 0 + ∫ x 0 x f ( s , y 1 ( s ) ) d s , ∣ x − x 0 ∣ ≤ h y_{2}(x)=y_{0}+\int_{x_{0}}^{x}f(s,y_{1}(s))ds, |x-x_{0}|\leq h y2(x)=y0+x0xf(s,y1(s))ds,xx0h

y n ( x ) = y 0 + ∫ x 0 x f ( s , y n − 1 ( s ) ) d s , ∣ x − x 0 ∣ ≤ h y_{n}(x)=y_{0}+\int_{x_{0}}^{x}f(s,y_{n-1}(s))ds, |x-x_{0}|\leq h yn(x)=y0+x0xf(s,yn1(s))ds,xx0h

对上述相邻项作差,得
∣ y 1 ( x ) − y 0 ( x ) ∣ = ∣ ∫ x 0 x f ( s , y 0 ( s ) ) d s ∣ ≤ M ∣ x − x 0 ∣ ≤ M h |y_{1}(x)-y_{0}(x)|=|\int_{x_{0}}^{x}f(s,y_{0}(s))ds|\leq M|x-x_{0}|\leq Mh y1(x)y0(x)=x0xf(s,y0(s))dsMxx0Mh
∣ y 2 ( x ) − y 1 ( x ) ∣ = ∣ ∫ x 0 x [ f ( s , y 1 ( s ) ) − f ( s , y 0 ( s ) ) ] d s ∣ ≤ ∫ x 0 x ∣ f ( s , y 1 ( s ) ) − f ( s , y 0 ( s ) ) ∣ d s ≤ ∫ x 0 x L ∣ y 1 ( s ) − y 0 ( s ) ∣ d s ≤ ∫ x 0 x L h ∣ s − x 0 ∣ d s ≤ M L L 2 2 ! h 2 |y_{2}(x)-y_{1}(x)|=|\int_{x_{0}}^{x}[f(s,y_{1}(s))-f(s,y_{0}(s))]ds|\leq\int_{x_{0}}^{x}|f(s,y_{1}(s))-f(s,y_{0}(s))|ds\leq\int_{x_{0}}^{x}L|y_{1}(s)-y_{0}(s)|ds\leq\int_{x_{0}}^{x}Lh|s-x_{0}|ds\leq\frac{M}{L}\frac{L^{2}}{2!}h^{2} y2(x)y1(x)=x0x[f(s,y1(s))f(s,y0(s))]dsx0xf(s,y1(s))f(s,y0(s))dsx0xLy1(s)y0(s)dsx0xLhsx0dsLM2!L2h2

∣ y n ( x ) − y n − 1 ( x ) ∣ = ∣ ∫ x 0 x [ f ( s , y n − 1 ( s ) ) − f ( s , y n − 2 ( s ) ) ] d s ∣ ≤ ∫ x 0 x ∣ f ( s , y n − 1 ( s ) ) − f ( s , y n − 2 ( s ) ) ∣ d s ≤ ∫ x 0 x L ∣ y n − 1 ( s ) − y n − 2 ( s ) ∣ d s ≤ M L L n n ! h n |y_{n}(x)-y_{n-1}(x)|=|\int_{x_{0}}^{x}[f(s,y_{n-1}(s))-f(s,y_{n-2}(s))]ds|\leq\int_{x_{0}}^{x}|f(s,y_{n-1}(s))-f(s,y_{n-2}(s))|ds\leq\int_{x_{0}}^{x}L|y_{n-1}(s)-y_{n-2}(s)|ds\leq\frac{M}{L}\frac{L^{n}}{n!}h^{n} yn(x)yn1(x)=x0x[f(s,yn1(s))f(s,yn2(s))]dsx0xf(s,yn1(s))f(s,yn2(s))dsx0xLyn1(s)yn2(s)dsLMn!Lnhn
已知 y n ( x ) − y 0 = ( y n ( x ) − y n − 1 ( x ) ) + ( y n − 1 ( x ) − y n − 2 ( x ) ) + . . . + ( y 1 ( x ) − y 0 ( x ) ) , ∣ x − x 0 ∣ ≤ h y_{n}(x)-y_{0}=(y_{n}(x)-y_{n-1}(x))+(y_{n-1}(x)-y_{n-2}(x))+...+(y_{1}(x)-y_{0}(x)), |x-x_{0}|\leq h yn(x)y0=(yn(x)yn1(x))+(yn1(x)yn2(x))+...+(y1(x)y0(x)),xx0h
∣ y n ( x ) − y n − 1 ( x ) ∣ + ∣ y n − 1 ( x ) − y n − 2 ( x ) ∣ + . . . + ∣ y 1 ( x ) − y 0 ( x ) ∣ + ∣ y 0 ∣ ≤ M L L h + M L 1 2 ! L 2 h 2 + M L 1 n ! L n h n |y_{n}(x)-y_{n-1}(x)|+|y_{n-1}(x)-y_{n-2}(x)|+...+|y_{1}(x)-y_{0}(x)|+|y_{0}|\leq\frac{M}{L}Lh+\frac{M}{L}\frac{1}{2!}L^{2}h^{2}+\frac{M}{L}\frac{1}{n!}L^{n}h^{n} yn(x)yn1(x)+yn1(x)yn2(x)+...+y1(x)y0(x)+y0LMLh+LM2!1L2h2+LMn!1Lnhn
对上式右侧取极限得 M L e L h \frac{M}{L}e^{Lh} LMeLh
u n ( x ) = y n ( x ) − y n − 1 ( x ) u_{n}(x)=y_{n}(x)-y_{n-1}(x) un(x)=yn(x)yn1(x)
由Weierstrass判别法(Weierstrass判别法:设函数项级数 ∑ n = 1 ∞ u n ( x ) \sum_{n=1}^{\infty} u_n(x) n=1un(x)定义在集合 D ⊆ R D \subseteq \mathbb{R} DR(或更一般的度量空间)上。如果存在一个收敛的正项数项级数 ∑ n = 1 ∞ M n \sum_{n=1}^{\infty} M_n n=1Mn,使得对任意 x ∈ D x \in D xD和所有 n ∈ N n \in \mathbb{N} nN,满足: ∣ u n ( x ) ∣ ≤ M n |u_n(x)| \leq M_n un(x)Mn, 则函数项级数 ∑ n = 1 ∞ u n ( x ) \sum_{n=1}^{\infty} u_n(x) n=1un(x) D D D上绝对且一致收敛。)知,函数列 { y n ( x ) − y 0 } \{y_{n}(x)-y_{0}\} {yn(x)y0}一致收敛,则函数列 { y n ( x ) } \{y_{n}(x)\} {yn(x)}一致收敛,记函数列 { y n ( x ) } \{y_{n}(x)\} {yn(x)}一致收敛到 φ ( x ) \varphi(x) φ(x)
因为函数列 { y n ( x ) } \{y_{n}(x)\} {yn(x)}中的每一项 y n ( x ) y_{n}(x) yn(x)都连续(因为 y 0 ( x ) y_{0}(x) y0(x)连续,则 y 1 ( x ) = y 0 + ∫ x 0 x f ( s , y 0 ( s ) ) d s y_{1}(x)=y_{0}+\int_{x_{0}}^{x}f(s,y_{0}(s))ds y1(x)=y0+x0xf(s,y0(s))ds连续,依次类推,每一项都连续),由连续性定理(连续性定理: S n ( x ) S_{n}(x) Sn(x) D D D上连续, { S n ( x ) } \{S_{n}(x)\} {Sn(x)} D D D上一致收敛于 S ( x ) S(x) S(x),则 S ( x ) S(x) S(x) D D D上连续。)知, φ ( x ) \varphi(x) φ(x)连续。
y n ( x ) = y 0 + ∫ x 0 x f ( s , y n − 1 ( s ) ) d s y_{n}(x)=y_{0}+\int_{x_{0}}^{x}f(s,y_{n-1}(s))ds yn(x)=y0+x0xf(s,yn1(s))ds两边令 n n n趋向于无穷大得:
φ ( x ) = y 0 + ∫ x 0 x f ( s , φ ( s ) ) d s \varphi(x)=y_{0}+\int_{x_{0}}^{x}f(s,\varphi(s))ds φ(x)=y0+x0xf(s,φ(s))ds
y = φ ( x ) y=\varphi(x) y=φ(x)是(2)的一个解。又因为 φ ( x ) \varphi(x) φ(x)连续,所以 φ ( x ) \varphi(x) φ(x)是(2)的一个经典解。
[Step 3: 解的唯一性]
ϕ ( x ) \phi(x) ϕ(x)也是(2)的一个解,则有 ϕ ( x 0 ) = y 0 \phi(x_{0})=y_{0} ϕ(x0)=y0 ϕ ( x ) = y 0 + ∫ x 0 x f ( s , ϕ ( s ) ) d s \phi(x)=y_{0}+\int_{x_{0}}^{x}f(s,\phi(s))ds ϕ(x)=y0+x0xf(s,ϕ(s))ds
直接和上述的解 φ ( x ) \varphi(x) φ(x)作差得,
r ( x ) = ∣ ϕ ( x ) − φ ( x ) ∣ ≤ ∫ x 0 x ∣ f ( s , ϕ ( s ) ) − f ( s , φ ( s ) ) ∣ d s ≤ L ∫ x 0 x ∣ ϕ ( s ) − φ ( s ) ∣ d s = L ∫ x 0 x r ( s ) d s r(x)=|\phi(x)-\varphi(x)|\leq\int_{x_{0}}^{x}|f(s,\phi(s))-f(s,\varphi(s))|ds\leq L\int_{x_{0}}^{x}|\phi(s)-\varphi(s)|ds=L\int_{x_{0}}^{x}r(s)ds r(x)=ϕ(x)φ(x)x0xf(s,ϕ(s))f(s,φ(s))dsLx0xϕ(s)φ(s)ds=Lx0xr(s)ds
由Gronwall不等式(Gronwall不等式: f ( x ) , g ( x ) f(x),g(x) f(x),g(x) [ a , b ] [a,b] [a,b]上连续,且 g ( x ) ≥ 0 g(x)\geq 0 g(x)0 c c c为常数,若 f ( x ) ≤ c + ∫ a x g ( s ) f ( s ) d s f(x)\leq c+\int_{a}^{x}g(s)f(s)ds f(x)c+axg(s)f(s)ds,则 f ( x ) ≤ c e ∫ a x g ( s ) d s f(x)\leq ce^{\int_{a}^{x}g(s)ds} f(x)ceaxg(s)ds。证明请参考常微分方程:Picard定理与Peano定理(解的存在性与唯一性))知, r ( x ) ≤ 0 r(x)\leq 0 r(x)0(令Gronwall不等式中的 c = 0 c=0 c=0 g ( x ) = 1 g(x)=1 g(x)=1即得)。因为 r ( x ) ≥ 0 r(x)\geq 0 r(x)0(因为 r ( x ) = ∣ ϕ ( x ) − φ ( x ) ∣ r(x)=|\phi(x)-\varphi(x)| r(x)=ϕ(x)φ(x)),所以 r ( x ) = 0 r(x)=0 r(x)=0。即(2)的解唯一。
综上,(2)只存在一个经典解。因为(1)的所有解都是(2)的经典解,且(2)的所有经典解都是(1)的解,所以(1)的解存在且唯一。
【补充】上述的Weierstrass判别法连续性定理 可以在数学分析教材中找到。

再回过头来看上面的例子: d y d x = 3 y 2 3 \frac{dy}{dx}=3y^{\frac{2}{3}} dxdy=3y32的初值为 y ( 0 ) = 0 y(0)=0 y(0)=0,满足的解可以是 y ( x ) = 0 y(x)=0 y(x)=0,还可以是 y ( x ) = x 3 y(x)=x^{3} y(x)=x3。这个例子是符合上述Picard定理中的一般微分方程形式,但是由于违反了Picard定理中的Liptschitz条件( y 2 3 y^{\frac{2}{3}} y32 y = 0 y=0 y=0处的导数无界,所以不存在Liptschitz常数 L L L),所以在给定初值的条件下,还存在多个解。

写在最后

上述内容只是微分方程知识的冰山一角,如果还想更深入的学习,还需寻找更系统详细的课程或者书籍。
如果上面的内容有错误和不严谨,恳请指正,不胜感激。如果有关于微分方程方面的看法或者有推荐的好教材或者好课程,欢迎在博客下分享交流,谢谢。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值