d y d x + P ( x ) y = Q ( x ) (1) \frac{dy}{dx}+P(x)y=Q(x)\tag{1} dxdy+P(x)y=Q(x)(1)
其齐次通解为:
y = C e − ∫ P ( x ) d x (2) y=Ce^{-\int P(x)dx}\tag{2} y=Ce−∫P(x)dx(2)
非齐次通解为:
y = C e − ∫ P ( x ) d x + e − ∫ P ( x ) d x ∫ Q ( x ) e ∫ P ( x ) d x d x (3) y=Ce^{-\int P(x)dx}+e^{-\int P(x)dx}\int Q(x)e^{\int P(x)dx}dx\tag{3} y=Ce−∫P(x)dx+e−∫P(x)dx∫Q(x)e∫P(x)dxdx(3)
假设 P ( x ) = − λ P(x)=-\lambda P(x)=−λ, λ \lambda λ为常数。对应的解为:
d y d x = λ y (1) \frac{dy}{dx}=\lambda y\tag{1} dxdy=λy(1)
y = C e − λ x (4) y=Ce^{-\lambda x}\tag{4} y=Ce−λx(4)
特别的, λ = 0 \lambda=0 λ=0,有: y = C y=C y=C
e i θ = cos θ + i sin θ (5) e^{i\theta}=\cos\theta+i\sin\theta\tag{5} eiθ=cosθ+isinθ(5)
对于任意一个角度,欧拉公式给出了单位圆上唯一的复数,请注意不是一一对应,因为对于任意 θ + 2 k π \theta+2k\pi θ+2kπ都表示同一个复数。需要留意的是 e a + b i e^{a+bi} ea+bi的模为:
e a + b i = e a e b i = ∣ e a ∣ ∣ e b i ∣ e^{a+bi}=e^a e^{bi}=\vert e^a\vert\vert e^{bi}\vert ea+bi=eaebi=∣ea∣∣ebi∣
复数部分,套用欧拉公式有:
∣ e b i ∣ = ∣ cos b + i sin b ∣ = cos 2 b + sin 2 b = 1 \vert e^{bi}\vert=\vert \cos b+i \sin b\vert=\cos^2b+\sin^2b=1 ∣ebi∣=∣cosb+isinb∣=cos2b+sin2b=1
结论就是:e的复数指数的模长等于实数部分的数值。
不考虑耦合情况,求解以下微分方程是容易的:(这里的常系数指的是 y y y及其导数对应的系数为一个常数,而不是带有未知数、可以变化的)
d u d t = u d u d t = λ u (6) \frac{du}{dt}=u \quad \frac{du}{dt}=\lambda u\tag{6} dtdu=udtdu=λu(6)
其实就是一阶线性微分方程, P ( x ) = λ P(x)=\lambda P(x)=λ和 Q ( x ) = 0 Q(x)=0 Q(x)=0的特殊情况,表达式见(1)。解分别是:
u ( t ) = C e t u ( t ) = C e λ t (7) u(t)=Ce^t\quad u(t)=Ce^{\lambda t}\tag{7} u(t)=Cetu(t)=Ceλt(7)
假如,两个微分方程组相互耦合,那么应该如何求解其微分方程组的解?看一个具体的例子:
d u 1 d t = − u 1 + 2 u 2 d u 2 d t = u 1 − 2 u 2 (8) \begin{aligned} \frac{du_1}{dt}&=-u_1+2u_2\\ \frac{du_2}{dt}&=u_1-2u_2 \end{aligned}\tag{8} dtdu1dtdu2=−u1+2u2=u1−2u2(8)
如何求解?两个方程相加有:
d ( u 1 + u 2 ) d t = 0 ( u 1 + u 2 ) (9) \frac{d(u_1+u_2)}{dt}=0(u_1+u_2)\tag{9} dtd(u1+u2)=0(u1+u2)(9)
上式减去两倍的下式,有:
d ( u 1 − 2 u 2 ) d t = − 3 ( u 1 − 2 u 2 ) (10) \frac{d(u_1-2u_2)}{dt}=-3(u_1-2u_2)\tag{10} dtd(u1−2u2)=−3(u1−2u2)(10)
将 u 1 + u 2 u_1+u_2 u1+u2看成一个整体,方程(9)对应的微分方程的解为
u 1 + u 2 = C 1 e 0 t (11) u_1+u_2=C_1e^{0t}\tag{11} u1+u2=C1e0t(11)
同样,将 u 1 − 2 u 2 u_1-2u_2 u1−2u2看成一个整体有:
u 1 − 2 u 2 = C 2 e − 3 t (12) u_1-2u_2=C_2e^{-3t}\tag{12} u1−2u2=C2e−3t(12)
进行一些简单的消元操作,可以得到微分方程组的解:
u 1 = 2 C 1 3 e 0 t + C 2 3 e − 3 t u 2 = C 1 3 e 0 t − C 2 3 e − 3 t (13) \begin{aligned} u_1=\frac{2C_1}{3}e^{0t}+\frac{C_2}{3}e^{-3t}\\ u_2=\frac{C_1}{3}e^{0t}-\frac{C_2}{3}e^{-3t} \end{aligned}\tag{13} u1=32C1e0t+3C2e−3tu2=3C1e0t−3C2e−3t(13)
至此,微分方程组求解完毕。从求解过程可以看出:
这个和矩阵有何关系?或许写成矩阵更加容易看出一些端倪:
d d t [ u 1 u 2 ] = [ − 1 2 1 − 2 ] [ u 1 u 2 ] (14) \frac{d}{dt}\begin{bmatrix} {u_1}\\ {u_2} \end{bmatrix}=\begin{bmatrix}-1&2\\1&-2\end{bmatrix}\begin{bmatrix}u_1\\u_2\end{bmatrix}\tag{14} dtd[u1u2]=[−112−2][u1u2](14)
我们微分方程组的解 u 1 u_1 u1和 u 2 u_2 u2看成未知数列向量: x = [ u 1 u 2 ] x=\begin{bmatrix}u_1\\u_2\end{bmatrix} x=[u1u2],右侧的系数组合看成是系数矩阵 A = [ − 1 2 1 − 2 ] A=\begin{bmatrix}-1&2\\1&-2\end{bmatrix} A=[−112−2]。一个矩阵作用于一个向量大概率会改变这个向量的方向,我们的目标是通过线性变换,这和将方程式左边的向量变成是与之同方向的向量是一样的,一旦能写成同方向的向量,这个方程就是一个容易求解的一阶线性微分方程。
啰里啰唆,其实就是想说明:我们可以利用特征值和特征向量的概念来求解微分方程组。下面来看看这个微分方程组是如何通过特征值和特征向量求解的。令
A = [ − 1 2 1 − 2 ] (15) A=\begin{bmatrix} -1&2\\ 1&-2 \end{bmatrix}\tag{15} A=[−112−2](15)
容易求得其特征值: λ 1 = 0 \lambda_1=0 λ1=0 λ 2 = − 3 \lambda_2=-3 λ2=−3,对应的特征向量为: x 1 = [ 2 1 ] x_1=\begin{bmatrix}2\\1\end{bmatrix} x1=[21]和 x 2 = [ 1 − 1 ] x_2=\begin{bmatrix}1\\-1\end{bmatrix} x2=[1−1],根据通解公式有:
u ( t ) = C 1 e 0 t [ 2 1 ] + C 2 e − 3 t [ 1 − 1 ] u(t)=C_1e^{0t}\begin{bmatrix}2\\1\end{bmatrix}+C_2e^{-3t}\begin{bmatrix}1\\-1\end{bmatrix} u(t)=C1e0t[21]+C2e−3t[1−1]
如果给定初值: u 0 = [ 1 0 ] u_0=\begin{bmatrix}1\\0\end{bmatrix} u0=[10],可以确定 C 1 C_1 C1和 C 2 C_2 C2的具体数值。最终的解为:
u ( t ) = 1 3 e 0 t [ 2 1 ] + 1 3 e − 3 t [ 1 − 1 ] u(t)=\frac{1}{3}e^{0t}\begin{bmatrix}2\\1\end{bmatrix}+\frac{1}{3}e^{-3t}\begin{bmatrix}1\\-1\end{bmatrix} u(t)=31e0t[21]+31e−3t[1−1]
也就是:
u 1 ( t ) = 2 3 e 0 t + 1 3 e − 3 t u 2 ( t ) = 1 3 e 0 t − 1 3 e − 3 t u_1(t)=\frac{2}{3}e^{0t}+\frac{1}{3}e^{-3t}\\ u_2(t)=\frac{1}{3}e^{0t}-\frac{1}{3}e^{-3t} u1(t)=32e0t+31e−3tu2(t)=31e0t−31e−3t
微分方程的两个解的趋势如何?
最后讲一下解的稳定性问题:
对于一个 2 × 2 2\times2 2×2矩阵 A = [ a b c d ] A=\begin{bmatrix}a&b\\c&d\end{bmatrix} A=[acbd]的稳定性条件是什么?
答:根据之前的讨论,矩阵需要满足稳定的条件是: R e λ 1 < 0 Re \lambda_1<0 Reλ1<0 R e λ 2 < 0 Re \lambda_2<0 Reλ2<0。如果不计算特征值,我们是否可判断这个矩阵的稳定性?
回到原来的方程:
d u d t = A u \frac{du}{dt}=Au dtdu=Au
我们的目的是将方程组 u u u解耦,不妨设 u = S v u=Sv u=Sv,其中 S S S为矩阵 A A A特征向量构成的特征矩阵。(将 u u u v v v想象向量,因为 S S S是特征向量矩阵,故一定是线性无关,所以一定存在 v v v使得 u = S v u=Sv u=Sv成立)。将条件 u = S v u=Sv u=Sv带入方程有:
S d v d t = A S v S\frac{dv}{dt}=ASv Sdtdv=ASv
将 S S S移到右边有:
d v d t = S − 1 A S v = Λ v \frac{dv}{dt}=S^{-1}ASv=\Lambda v dtdv=S−1ASv=Λv
为什么我们要大费周折的将一个方程式化简成对角矩阵?答案就是解耦,一旦系数矩阵变成了对角矩阵,微分方程之间的耦合将不再存在!不存在耦合求解微分方程简直不要太常规:
v 1 = c 1 e λ 1 t v 2 = c 2 e λ 2 t ⋯ v_1=c_1e^{\lambda_1 t}\\ v_2=c_2e^{\lambda_2 t}\\ \cdots v1=c1eλ1tv2=c2eλ2t⋯
或者你不想这么啰嗦,直接用矩阵表示:
u ( t ) = e Λ t v ( 0 ) u ( t ) = S e Λ t S − 1 u ( 0 ) u(t)=e^{\Lambda t }v(0)\\ u(t)=Se^{\Lambda t}S^{-1}u(0) u(t)=eΛtv(0)u(t)=SeΛtS−1u(0)
下面直接给出一个结论以简化 u ( t ) u(t) u(t):
e A t = S e Λ t S − 1 e^{A t}=Se^{\Lambda t}S^{-1} eAt=SeΛtS−1
在此之前我们的指数都是针对于一个具体的数,在这里出现的 e e e的矩阵次幂是什么含义?在此之前我们需要先给定矩阵指数的概念:
矩阵指数定义如下:
e A t = I + A t + ( A t ) 2 2 + ( A t ) 3 6 + ⋯ + ( A t ) n n ! e^{At}=I+At+\frac{(At)^2}{2}+\frac{(At)^3}{6}+\cdots+\frac{(At)^n}{n!} eAt=I+At+2(At)2+6(At)3+⋯+n!(At)n
上述的展开是收敛的,因为随着 n n n的增大,通项收敛于0;
这与高等数学里的 e x e^x ex对应: e x = ∑ n = 0 ∞ x n n ! e^x=\sum_{n=0}^{\infty}\frac{x^n}{n!} ex=n=0∑∞n!xn
利用高数极限的定义可证,当 n → + ∞ n\rightarrow+\infty n→+∞时, e x → 0 e^x\rightarrow0 ex→0。
(几何级数):
1 1 − x = ∑ n = 0 ∞ X n \frac{1}{1-x}=\sum_{n=0}^{\infty}X^n 1−x1=n=0∑∞Xn
类比几何级数有:
( I − A t ) − 1 = I + A t + A t 2 + ⋯ (I-At)^{-1}=I+At+At^2+\cdots (I−At)−1=I+At+At2+⋯
这个性质可用来估计矩阵的逆,当 t t t比较小的时候,高阶项可以忽略。这个式子不一定收敛,收敛条件是 A t At At的特征值小于1,求逆公式成立。
利用 e A t e^{At} eAt的定义,我们来推导当满足 A A A可对角化情况下的表达式:
e A t = I + A t + ( A t ) 2 2 + ( A t ) 3 6 + ⋯ + ( A t ) n n ! = S Λ 0 S − 1 + S Λ 1 S − 1 t + 1 2 ! S Λ 2 S − 1 t 2 + ⋯ + 1 n ! S Λ n S − 1 t n = S ( I + Λ t + 1 2 ! Λ 2 t 2 + 1 3 ! Λ 3 t 3 + ⋯ + 1 n ! Λ n t n ) S − 1 = S e Λ t S − 1 \begin{aligned} e^{A t}&=I+At+\frac{(At)^2}{2}+\frac{(At)^3}{6}+\cdots+\frac{(At)^n}{n!}\\ &=S\Lambda^0S^{-1}+S\Lambda^1S^{-1}t+\frac{1}{2!}S\Lambda^2S^{-1}t^2+\cdots+\frac{1}{n!}S\Lambda^nS^{-1}t^n\\ &=S(I+\Lambda t+\frac{1}{2!}\Lambda^2 t^2+\frac{1}{3!}\Lambda^3 t^3+\cdots+\frac{1}{n!}\Lambda^n t^n)S^{-1}\\ &=Se^{\Lambda t}S^{-1} \end{aligned} eAt=I+At+2(At)2+6(At)3+⋯+n!(At)n=SΛ0S−1+SΛ1S−1t+2!1SΛ2S−1t2+⋯+n!1SΛnS−1tn=S(I+Λt+2!1Λ2t2+3!1Λ3t3+⋯+n!1Λntn)S−1=SeΛtS−1
特征值构成的矩阵 Λ \Lambda Λ:
Λ = [ λ 1 0 ⋯ 0 0 λ 2 ⋯ 0 ⋮ ⋮ ⋱ ⋮ 0 0 ⋯ λ n ] \Lambda=\begin{bmatrix} \lambda_1&0&\cdots&0\\ 0&\lambda_2&\cdots&0\\ \vdots&\vdots&\ddots&\vdots\\ 0&0&\cdots&\lambda_n \end{bmatrix} Λ=⎣ ⎡λ10⋮00λ2⋮0⋯⋯⋱⋯00⋮λn⎦ ⎤
回到一开始的 v ( t ) = e Λ t v ( 0 ) v(t)=e^{\Lambda t}v(0) v(t)=eΛtv(0),因为已经解耦,所以每一列都代表了对应解的形式,故:
e Λ t = [ e λ 1 t 0 ⋯ 0 0 e λ 2 t ⋯ 0 ⋮ ⋮ ⋱ ⋮ 0 0 ⋯ e λ n t ] e^{\Lambda t}=\begin{bmatrix} e^{\lambda_1 t}&0&\cdots&0\\ 0&e^{\lambda_2 t}&\cdots&0\\ \vdots&\vdots&\ddots&\vdots\\ 0&0&\cdots&e^{\lambda_n t} \end{bmatrix} eΛt=⎣ ⎡eλ1t0⋮00eλ2t⋮0⋯⋯⋱⋯00⋮eλnt⎦ ⎤
对于,考察 u ( t ) u(t) u(t)
u ( t ) = e A t u ( 0 ) = [ x 1 x 2 ⋯ x n ] [ e λ 1 t 0 ⋯ 0 0 e λ 2 t ⋯ 0 ⋮ ⋮ ⋱ ⋮ 0 0 ⋯ e λ n t ] [ c 1 c 2 ⋮ c n ] = c 1 x 1 e λ 1 t + c 2 x 2 e λ 2 t + ⋯ + c n x n e λ n t \begin{aligned} u(t)&=e^{At}u(0)\\ &=\begin{bmatrix}x_1&x_2&\cdots&x_n\end{bmatrix} \begin{bmatrix} e^{\lambda_1 t}&0&\cdots&0\\ 0&e^{\lambda_2 t}&\cdots&0\\ \vdots&\vdots&\ddots&\vdots\\ 0&0&\cdots&e^{\lambda_n t} \end{bmatrix}\begin{bmatrix}c_1\\c_2\\\vdots\\c_n\end{bmatrix}\\ &=c_1x_1e^{\lambda_1t}+c_2x_2e^{\lambda_2t}+\cdots+c_nx_ne^{\lambda_n t} \end{aligned} u(t)=eAtu(0)=[x1x2⋯xn]⎣ ⎡eλ1t0⋮00eλ2t⋮0⋯⋯⋱⋯00⋮eλnt⎦ ⎤⎣ ⎡c1c2⋮cn⎦ ⎤=c1x1eλ1t+c2x2eλ2t+⋯+cnxneλnt
这个与我们认识的通解形式是一致的。
怎么样的特征值会使得微分方程有稳定解?
答:根据稳定性的定义,当微分方程的表达式趋于0时,微分方程具有稳定解。
u ( t ) = S e Λ t S − 1 u ( 0 ) u(t)=Se^{\Lambda t}S^{-1}u(0) u(t)=SeΛtS−1u(0)
表达式 S S S和 S − 1 S^{-1} S−1不变,趋势和 e Λ t e^{\Lambda t} eΛt有关:
e Λ t = [ e λ 1 t 0 ⋯ 0 0 e λ 2 t ⋯ 0 ⋮ ⋮ ⋱ ⋮ 0 0 ⋯ e λ n t ] e^{\Lambda t}=\begin{bmatrix} e^{\lambda_1 t}&0&\cdots&0\\ 0&e^{\lambda_2 t}&\cdots&0\\ \vdots&\vdots&\ddots&\vdots\\ 0&0&\cdots&e^{\lambda_n t} \end{bmatrix} eΛt=⎣ ⎡eλ1t0⋮00eλ2t⋮0⋯⋯⋱⋯00⋮eλnt⎦ ⎤
当且仅当,所有特征根都小于零时,微分方程的结果随着时间的增大会趋于一个稳定的值:0。在复平面上标记特征根,他应该出现在复平面的左半部分:
对于一个二阶微分方程:
y ′ ′ + b y ′ + k y = 0 y''+by'+ky=0 y′′+by′+ky=0
一个常用的技巧就是降阶:
u = [ y ′ y ] u=\begin{bmatrix}y'\\y\end{bmatrix} u=[y′y]
于是,二阶方程可以写成:
u ′ = [ y ′ ′ y ′ ] = [ − b − k 1 0 ] [ y ′ y ] u'=\begin{bmatrix}y''\\y'\end{bmatrix}=\begin{bmatrix}-b&-k\\1&0\end{bmatrix}\begin{bmatrix}y'\\y\end{bmatrix} u′=[y′′y′]=[−b1−k0][y′y]
也就是
u ′ = A u u'=Au u′=Au
解法和前面讲到的一样,不过 u u u内容变成了解的各阶导数。
同理,如果是五阶微分方程,亦可用同样的方法。
[1] 没有看到详细的推导。
[2] https://blog.csdn.net/sunbobosun56801/article/details/103094021