课程主页: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$的不同值可以分为三种情形:

  1. $a>0$:此时$y(t)$随着$t$增加而增加,此时称解不稳定。
  2. $a=0$:此时$y(t)$是常数,此时称解稳定。
  3. $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​$,即

注意第二个条件显然满足,所以向后欧拉法总是稳定的。