线性代数 Cheat Sheet 5-7:微分方程中的应用

  在很多应用问题中,有些量随时间连续变化,它们与下面的微分方程组有关:

x1=a11x1++a1nxnx2=a21x2++a2nxnxn=an1x1++annxn

这里 x1,,xn 是关于 t 的可导函数,导数分别是 x1,,xnaij 是常数。该方程组最主要的特征是线性性质。把方程组写成矩阵微分方程

x(t)=Ax(t)

其中

x(t)=[x1(t)xn(t)],x(t)=[x1(t)xn(t)],A=[a11a1nan1ann]

  方程 (1) 的解是向量值函数,该函数定义在某实数区间,比如 t0,且满足方程 (1)

  由于函数求导以及向量与矩阵相乘都是线性变换,故方程 (1) 是线性的。因此,若 uvx=Ax 的解,则 cu+dv 同样也是 x=Ax 的解,因为

(cu+dv)=cu+dv=cAu+dAv=A(cu+dv)

这个性质称为解的叠加。同样,恒等于零的函数也是方程 (1) 的(平凡)解。方程 (1) 的所有解的集合是值属于 Rn 的所有连续函数组成的集合的子空间。

  可以证明,方程 (1) 一定存在基础解系。假如 An×n 矩阵,那么在基础解系中存在 n 个线性无关的函数,使得方程 (1) 的每一个解可以唯一表示为这 n 个函数的线性组合。即基础解系是方程 (1) 的所有解的集合的基,且解集是函数的 n 维向量空间。若给定向量 x0,那么初值问题就是构造一个(唯一)函数 x,满足 x=Axx(0)=x0

  当 A 是对角矩阵时,可以用初等微积分求出 (1) 的解。例如考虑

[x1(t)x2(t)]=[3005][x1(t)x2(t)]

即有

x1(t)=3x1(t)x2(t)=5x2(t)

因为每个函数的导数仅依赖于函数自身,而不是 x1(t)x2(t) 的组合或“结合”,所以称方程组 (2) 是解耦的。由微积分,(3) 的解是 x1(t)=c1e3tx2(t)=c2e5tc1c2 为任意常数。(2) 的每一个解都可以写成下列形式:

[x1(t)x2(t)]=[c1e3tc2e5t]=c1[10]e3t+c2[01]e5t

  这个例子说明,对于一般的方程 x=Ax,它的解可能是形如

x(t)=veλt

的函数的线性组合,其中 λ 为数,v 为非零向量(若 v=0,则函数 x(t) 恒为零,且满足 x=Ax)。注意到

x(t)=λveλtAx(t)=Aveλt

因为 eλt 不可能为零,故 x(t) 等于 Ax(t) 当且仅当 λv=Av,即当且即当 λA 的特征值,而 v 是对应的特征向量。因此,每一对特征值-特征向量提供了 x=Ax 的一个解 (4),这种解有时被称为微分方程的特征函数。特征函数为求解微分方程提供了方法。

1. 解耦动力系统

  设 A 的特征函数是

v1eλ1t,,vneλnt

v1,,vn 是线性无关的特征向量。令 P=[v1vn]D 是主对角线元素为 λ1,,λn 的对角阵,因此有 A=PDP1。现做变量代换,由

y(t)=P1x(t)x(t)=Py(t)

定义一个新的函数 y,方程 x(t)=Py(t) 表明 y(t)x(t) 关于特征向量基的坐标向量。带入 x=Ax,有

ddt(Py)=A(Py)=(PDP1)Py=PDy

由于 P 是常数矩阵,(5) 的左边是 Py。在 (5) 的两边左乘 P1,得 y=Dy

[y1(t)y2(t)yn(t)]=[λ1000λ20000λn][y1(t)y2(t)yn(t)]

因为数值函数 yk 的倒数 yk(t) 仅依赖于 yk,故从 xy 的变量代换解耦了微分方程组。由 y1=λ1y1,由 y1(t)=c1eλ1t,对 y2,,yn 也有类似的公式,因此

y(t)=[c1eλ1tcneλnt],[c1cn]=y(0)=P1x(0)=P1x0

为了得到原方程组的通解 x,计算

x(t)=Py(t)=[v1vn]y(t)=c1v1eλ1t++cnvneλnt