CS205A Lecture 16 Initial value problems and basics of ODE
课程主页:https://graphics.stanford.edu/courses/cs205a-13-fall/schedule.html
这次回顾第十六讲,这一讲介绍了常微分方程(ODE)。
Chapter 常微分方程
基本理论
ODE的基本形式如下:
我们讨论的ODE主要是显式的,定义如下:
定义 13.1 (显式ODE)
我们称ODE是显式的,如果能写成如下形式:
一个具体的例子为牛顿第二定律:
注意高阶的ODE可以通过增加变量转换为一阶的ODE,考虑$y^{\prime \prime}=F\left[t, y, y^{\prime}\right]$,因为
所以如果定义变量
那么原ODE可以化为
一般的, 对于如下显式OED,
我们可以将其转化为如下一阶ODE
其中
所以后面我们讨论的ODE形式如下:
例1
考虑如下ODE
利用上述方法可以将其转化为一阶ODE:
实际上,我们可以将显式ODE转换为更好的形式,即自治ODE——不依赖于时间$t$。考虑$f^{\prime}(t)=F[t, f(t)]$,定义
那么原ODE可以转化为
所以不失一般性,这里只要考虑一阶自治ODE,即
注意求解ODE需要初值条件,所以原问题中一般会给出$f(0)$。
存在唯一性
这里不详细介绍理论,直接给出如下定理:
如果$F$满足Lipschitz条件,即存在$L>0$,使得
那么ODE $f^{\prime}(t)=F[f(t)]$的解存在唯一。
对方程建模
首先考虑最简单的情形,即$y’=F(y)$,其中
考虑线性ODE:
令
那么
所以不失一般性,我们假设$b=0$,即
不难看出该方程的解为
根据$a$的不同值可以分为三种情形:
- $a>0$:此时$y(t)$随着$t$增加而增加,此时称解不稳定。
- $a=0$:此时$y(t)$是常数,此时称解稳定。
- $a<0$:随着$t$增加,$y(t)$趋于$0$,此时称解稳定。
将上述内容推广至多维情形:
假设$\lambda_1,\ldots ,\lambda_k$是$A$的特征值,对应的特征向量为$\vec y_1 ,\ldots ,\vec y_k$,并且
那么ODE的解为
对于一般的ODE,即
假设$F$可微,那么使用泰勒展开可得
其中$J_F$为$F$的雅克比矩阵。
求解
这部分考虑一维的问题,我们的任务是,给定$y(t)$,计算$y(t+h)$。为了方便讨论,定义
前向欧拉
考虑泰勒展开:
所以
所以一步误差为$O(h^2)$,因为我们需要将区间划分为$O(\frac 1 h)$份,所以总误差为$O(h)$。该方法被称为前向欧拉法。
现在讨论其稳定性问题,假设$y’=ay,a<0$,那么
即
上式稳定当且仅当$|1+ah|\le 1$,又因为
所以前向欧拉法的稳定性依赖于步长$h$和$a$的关系。
后向欧拉
还是利用泰勒展开:
所以
注意我们是通过$y_k$求解$y_{k+1}$,该方法被称为后向欧拉法。
接着讨论其稳定性问题,假设$y’=ay,a<0$,那么
上式稳定当且仅当$\frac 1 {|1-ha|}\le 1$,即
注意第二个条件显然满足,所以向后欧拉法总是稳定的。