线性代数系列(十四)--微分方程

主要内容

  • 一阶微分方程的求解
  • 解耦
  • 二阶微分方程

正文

一阶微分方程的求解

同样的,我们先通过一个例子来看一下微分方程的求解流程,然后再引出相应的问题: d u 1 d t = − u 1 + 2 u 2 , d u 2 d t = u 1 − 2 u 2 . i n i t i a l   u ( 0 ) = [ 1 0 ] \frac{du_1}{dt}=-u_1+2u_2,\frac{du_2}{dt}=u_1-2u_2.\quad initial\ u(0)=\begin{bmatrix}1\\0\end{bmatrix} dtdu1=u1+2u2,dtdu2=u12u2.initial u(0)=[10]在这个例子中我们的目的是求解 u ( t ) u(t) u(t)。需要注意的是,下标与括号中的意义是不相同的,括号中的 t t t表示自变量,是一个变动的量,可以理解为时间,而下标主要是用于区分某个变量的。比如 u ( 0 ) = [ 1 0 ] u(0)=\begin{bmatrix}1\\0\end{bmatrix} u(0)=[10]表示在 0 0 0时刻, u 1 = 1 , u 2 = 0 u_1=1,u_2=0 u1=1,u2=0。通过方程我们可以知道 d u 2 d t &gt; 0 , d u 1 d t &lt; 0 \frac{du_2}{dt}&gt;0,\frac{du_1}{dt}&lt;0 dtdu2>0dtdu1<0,所以随着时间的增加, u 1 u_1 u1会增加, u 2 u_2 u2会减少;或者可以理解为 u 1 u_1 u1流向了 u 2 u_2 u2,这是一个动态的变化过程,不过最终会达到某种状态,我们可以通过计算发现这种状态。这里只是对微分方程做了简单的介绍,这是解题非常重要的一步,理解微分方程的意义。

第一步我们使用矩阵将微分方程抽象成线性代数的形式: d u d t = A u , a n d   A = [ − 1 2 1 − 2 ] \frac{du}{dt}=Au,\quad and \ A=\begin{bmatrix}-1&amp;2\\1&amp;-2\end{bmatrix} dtdu=Auand A=[1122]在之前的介绍中,我们已经知道, u k u_k uk的增长与矩阵的特征值和特征向量有关,所以接下来我们研究矩阵的特征值和特征向量。通过: d e t ( A − λ I ) = 0 det(A-\lambda I)=0 det(AλI)=0,我们可以求出两个特征值 λ 1 = 0 , λ 2 = − 3 \lambda_1=0,\lambda_2=-3 λ1=0,λ2=3,然后根据特征值可以解得对应的特征向量为 x 1 = [ 2 1 ] , x 2 = [ 1 − 1 ] x_1=\begin{bmatrix}2\\1\end{bmatrix},x_2=\begin{bmatrix}1\\-1\end{bmatrix} x1=[21]x2=[11]

第二,我们给出通解的形式,这里不追究通解的形式为什么会是这个样子。 ∑ i = 1 n C i e λ i t x i \sum^n_{i=1}C_ie^{\lambda_it}x_i i=1nCieλitxi其中 λ i \lambda_i λi是特征值, x i x_i xi是特征向量。实际上,这个通解还可以使用矩阵的形式表达:》》》》????第一步我们已经求得了矩阵的特征值和特征向量,带入公式可以得到通解为: u ( t ) = C 1 1 [ 2 1 ] + C 2 e − 3 t [ 1 − 1 ] u_{(t)}=C_11\begin{bmatrix}2\\1\end{bmatrix}+C_2 e^{-3t}\begin{bmatrix}1\\-1\end{bmatrix} u(t)=C11[21]+C2e3t[11]而要得到完整的解,我们还需要带入初值 u 0 u_0 u0。最终可以得到: u ( t ) = 1 3 [ 2 1 ] + 1 3 e − 3 t [ 1 − 1 ] u_{(t)}=\frac{1}{3}\begin{bmatrix}2\\1\end{bmatrix}+\frac{1}{3}e^{-3t}\begin{bmatrix}1\\-1\end{bmatrix} u(t)=31[21]+31e3t[11]这个结果表明了一些信息:随着 t t t的增加,后面的一部分会趋向于 0 0 0,最终不起作用。而前面的一部分是保持稳定的,这就是我们所谓的达到的稳态。

在实际的求解中,会有这样的规律:

  • 当特征值为负数的时候, u ( t ) u(t) u(t)趋向于 0 0 0,这个特点很明显。但是,复杂的是当特征值为复数的时候,只有复数实数部分会决定 u ( t ) u(t) u(t)的趋势。
  • 稳态存在时,在这个例子中,我们有一个特征值为 0 0 0,其余的特征值为负数。在有更多的变量的情况下,至少需要有一个特征值为 0 0 0,其余的特征值为负数。
  • 如果有任何特征值的实数部分大于零,则 u ( t ) u(t) u(t)无法收敛。
解耦

在前面的例子中,对于矩阵 A A A u 1 , u 2 u_1,u_2 u1,u2是耦合的,不过我们可以通过特征值和特征向量对其解耦,也就是对角化。 d u 1 d t = − u 1 + 2 u 2 , d u 2 d t = u 1 − 2 u 2 . i n i t i a l   u ( 0 ) = [ 1 0 ] \frac{du_1}{dt}=-u_1+2u_2,\frac{du_2}{dt}=u_1-2u_2.\quad initial\ u(0)=\begin{bmatrix}1\\0\end{bmatrix} dtdu1=u1+2u2,dtdu2=u12u2.initial u(0)=[10] u = S v u=Sv u=Sv,对于 d u d t = A u = A S v \frac{du}{dt}=Au=ASv dtdu=Au=ASv,进一步化简, S d v d t = A S v S\frac{dv}{dt}=ASv Sdtdv=ASv,然后我们得到: d v d t = S − 1 A S v = Λ v \frac{dv}{dt}=S^{-1}ASv=\Lambda v dtdv=S1ASv=Λv d v 1 d t = λ 1 v 1 , d v 2 d t = λ 2 v 2 \frac{dv_1}{dt}=\lambda_1v_1,\quad \frac{dv_2}{dt}=\lambda_2v_2 dtdv1=λ1v1,dtdv2=λ2v2这个得到的方程,各未知数之间是没有联系的,是不耦合的。根据前面的规律,又可以得到这样的方程: v ( t ) = e Λ t v ( 0 ) v(t)=e^{\Lambda t}v(0) v(t)=eΛtv(0)不过我们希望得到的是关于 u ( t ) u(t) u(t)的解耦方程。类似的: u ( t ) = e A t u ( 0 ) = S e Λ t S − 1 u ( 0 ) u(t)=e^{At}u(0)=Se^{\Lambda t}S^{-1}u(0) u(t)=eAtu(0)=SeΛtS1u(0)这个方程的关键在于我们如何找到 e A t e^{At} eAt S e Λ t S − 1 Se^{\Lambda t}S^{-1} SeΛtS1的关系

e A t e^{At} eAt S e Λ t S − 1 Se^{\Lambda t}S^{-1} SeΛtS1
首先回顾一下幂级数公式: e x = 1 + x + x 2 2 ! + x 3 3 ! + . . . + x n n ! + . . . x ∈ R e^x=1+x+\frac{x^2}{2!}+\frac{x^3}{3!}+...+\frac{x^n}{n!}+... \qquad x\in R ex=1+x+2!x2+3!x3+...+n!xn+...xR将这个公式扩展到矩阵上有: e A t = I + A t + ( A t ) 2 2 ! + ( A t ) 3 3 ! + . . . + ( A t ) n n ! + . . . \qquad e^{At}=I+At+\frac{(At)^2}{2!}+\frac{(At)^3}{3!}+...+\frac{(At)^n}{n!}+... eAt=I+At+2!(At)2+3!(At)3+...+n!(At)n+... ⇒ e A t = S S − 1 + S Λ t S − 1 + S ( Λ t ) 2 S − 1 2 ! + S ( Λ t ) 3 S − 1 3 ! + . . . + S ( Λ t ) n S − 1 n ! + . . . \Rightarrow\quad e^{At}=SS^{-1}+S\Lambda tS^{-1}+\frac{S(\Lambda t)^2S^{-1}}{2!}+\frac{S(\Lambda t)^3S^{-1}}{3!}+...+\frac{S(\Lambda t)^nS^{-1}}{n!}+... eAt=SS1+SΛtS1+2!S(Λt)2S1+3!S(Λt)3S1+...+n!S(Λt)nS1+... ⇒ e A t = S ( I + Λ t + ( Λ t ) 2 2 ! + ( Λ t ) 3 3 ! + . . . + ( Λ t ) n n ! + . . . ) S − 1 \Rightarrow\quad e^{At}=S(I+\Lambda t+\frac{(\Lambda t)^2}{2!}+\frac{(\Lambda t)^3}{3!}+...+\frac{(\Lambda t)^n}{n!}+... )S^{-1} eAt=S(I+Λt+2!(Λt)2+3!(Λt)3+...+n!(Λt)n+...)S1 ⇒ e A t = S e Λ t S − 1 \Rightarrow\quad e^{At}=Se^{\Lambda t}S^{-1} eAt=SeΛtS1

二阶微分方程

它的一般形式为: y ′ ′ + b y ′ + k y = 0 y^{&#x27;&#x27;}+by^{&#x27;}+ky=0 y+by+ky=0我们记 u = [ y ′ y ] u=\begin{bmatrix}y^{&#x27;}\\y\end{bmatrix} u=[yy],那么 u ′ = [ y ′ ′ y ′ ] = [ − b − k 1 0 ] [ y ′ y ] u^{&#x27;}=\begin{bmatrix}y^{&#x27;&#x27;}\\y^{&#x27;}\end{bmatrix}=\begin{bmatrix}-b&amp;-k\\1&amp;0\end{bmatrix}\begin{bmatrix}y^{&#x27;}\\y\end{bmatrix} u=[yy]=[b1k0][yy]这样就将它抽象成了矩阵的形式,也就是一个一阶微分方程乘以一个矩阵。其他的步骤同上面是一样的。如果遇到更高阶的微分方程,抽象的方法是一样的。解题的步骤也是类似的。

这一节的内容较为复杂,主要目的就是在实际情况下使用矩阵对角化,特征值等方法求解微分方程,给出了使用矩阵求解微分方程的通用规律,即高阶降阶。一阶用特征值和特征向量将原系数矩阵 A A A解耦,最后得到结果。并介绍了在我们解耦 A A A时使用矩阵对角化将其与特征向量联系起来运算的方法。另外介绍了判断收敛性的方法,即看特征值实部绝对值与1的大小关系。这些内容都是特征值与特征向量的实际应用,非常重要。

  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值