zoukankan      html  css  js  c++  java
  • 线性代数.23微分方程和exp(At)

    这节课涉及到怎么求解微分方程,怎么求解一阶常系数微分方程。上一节课是离散情况,这节课我们计算连续情况。

    微分方程组的解

    从例子讲起

    已知两个微分方程

    [frac{ ext{du}_1}{ ext{dt}}=-u_1+2 u_2\ frac{ ext{du}_2}{ ext{dt}}=u_1-2 u_2 ]

    已知 (U(t)=left( egin{array}{c} u_1(t) \ u_2(t) \ end{array} ight))(U_0=left( egin{array}{c} u_1(0) \ u_2(0) \ end{array} ight)=left( egin{array}{c} 1 \ 0 \ end{array} ight))

    根据两个方程等式右边写出系数矩阵:

    [A=left( egin{array}{cc} -1 & 2 \ 1 & -2 \ end{array} ight) ]

    很明显,矩阵 (A) 的行列式为0,所以她是个奇异矩阵。

    计算特征方程

    [det(A-lambda I)=0 ]

    可得

    [lambda_1=0,lambda_2=-3 ]

    将两个特征值分别代入

    [(A-lambda I)x=0 ]

    可得

    [x_1=left( egin{array}{c} 2 \ 1 \ end{array} ight),x_2=left( egin{array}{c} 1 \ -1 \ end{array} ight) ]

    微分方程的解为

    [U(t)=c_1 e^{lambda _1 t}x_1+c_2 e^{lambda _2 t}x_2 ]

    (e^{lambda _1 t}x_1)(e^{lambda _2 t}x_2) 是方程组的两个特解。

    两个解的纯指数形式是上次讲的纯幂形式在微分方程中的类似体。

    在差分方程中 (u_{k+1}=Au_k), 有

    [u_k=c_1lambda_1^k x_1+c_2lambda_2^k x_2+...+c_nlambda_n^k x_n ]

    这里我们关心的是指数形式。

    计算 (c_1、c_2) ,将 (lambda)(x) 代入,可得

    [U(t)=c_2 e^{-3 t}.left( egin{array}{c} 1 \ -1 \ end{array} ight)+c_1.left( egin{array}{c} 2 \ 1 \ end{array} ight) ]

    已知初值 (U_0) ,可得

    [c_1=c_2=frac{1}{3} ]

    故,最后得到通解:

    [U(t)=frac{1}{3} left( egin{array}{c} 2 \ 1 \ end{array} ight)+frac{1}{3} e^{-3 t} left( egin{array}{c} 1 \ -1 \ end{array} ight) ]

    (t ightarrow ∞,frac{1}{3} e^{-3 t} left( egin{array}{c} 1 \ -1 \ end{array} ight) ightarrow 0)(U(t)) 是稳定状态

    [U(∞) ightarrow frac{1}{3} left( egin{array}{c} 2 \ 1 \ end{array} ight) ]

    收敛性

    什么时候微分方程的解才能到达稳态?

    1. (lambda) 实部小于零,即 $ Re (lambda)<0 $ (e^{lambda t} ightarrow 0)(U(t) ightarrow 0)(U(t)) 具有稳定性。

    如果特征值是复数,假如 (lambda=-3+6i) .

    [|e^{(-3+6 i) t}|=e^{-3 t} ]

    取模后只有实部作用,因为根据欧拉公式

    [|e^{6it}|=cos(6t)+isin(6t)=1 ]

    她在单位圆内旋转。

    所以只有实数部分是起作 用的。

    1. (lambda_1=0) ,并且其余的 (Relambda<0)(U(t)) 处于稳定状态。
    2. 当任意 (Relambda>0) 时,解无法收敛。

    (2*2) 矩阵为例

    已知微分方程组中系数矩阵

    [A=left( egin{array}{cc} a & b \ c & d \ end{array} ight) ]

    对于稳定性,我们要知道她的两个特征值实部是否都是小于零。

    [Re lambda_1<0,Re lambda_2<0, ]

    问题是,不计算,是否可以直接从矩阵判断呢?

    (A) 的迹是 (a+d) ,如果两个特征值都小于零,则

    [a+d<0 ]

    并且满足

    [detA>0 ]

    从这两个条件就能看出是否稳定。

    她是简便而且实用的,因为二阶系统稳定性是我们最关心的,在实际中遇到的最多。

    解耦(对角化)

    原方程组有两个相互耦合的未知函数,矩阵 (A) 也表明 (u_1、u_2) 互相耦合。

    特征值和特征向量的作用是解耦,又称为对角化,我们可以把方程的解表示为 (S)(Lambda) 的形式。

    回到原来的微分方程组,矩阵 (A) 的对角元素都不等于零

    [frac{ ext{du}}{ ext{dt}}= ext{Au} ]

    通过特征向量矩阵 (S) 解耦 (u) 。令

    [u=Sv ]

    (u) 表示为特征向量(基)的线性组合。

    (u) 代入方程中,(S) 是常数阵,可以提取出来,得

    [Sfrac{ ext{dv}}{ ext{dt}}= ext{ASv} ]

    两边乘以 (S^{-1})

    [S^{-1}Sfrac{ ext{dv}}{ ext{dt}}=S^{-1} ext{ASv} ]

    化简

    [frac{ ext{dv}}{ ext{dt}}=Lambda ext{v} ]

    (Lambda) 为特征值矩阵。这里得到关于 (v) 得对角化方程组。

    新方程组不存在耦合,(frac{dv_1}{ ext{dt}}=Lambda v_1,frac{dv_2}{ ext{dt}}=Lambda v_2) ......这是各未知数之间没有联系得方程组。

    她们的解是

    [v(t)=e^{Lambda t} v(0)\ u(t)=Se^{Lambda t}S^{-1} u(0)=e^{A t}u(0) ]

    其中,(e^{A t}) 称为矩阵指数。

    矩阵指数

    回顾泰勒展开式的两个公式

    [e^{x}=sum _{n=0}^{infty } frac{x^n}{n!}\ frac{1}{1-x}=sum _{n=0}^{infty } x^n ]

    第二个式子被称为几何级数。

    这些公式对矩阵同样适用,就像普通的函数一样,类似的,有

    [e^{A t}=I+At+frac{ ext{(At)}^2}{2}+frac{ ext{(At)}^3}{6}+...++frac{ ext{(At)}^n}{n!}\ (I-At)^{-1}=I+At+(At)^2+(At)^3+...+(At)^n ]

    第一个式子就是 (e^{A t}) 的定义式子。

    通过展开式,我们可以看出 (e^{A t}) 每一项分母越来越大,因此无论 (A、t) 是多少,她的通项总是收敛于0,级数最终最终收敛于某值。

    ((I-At)^{-1}) 不一定是收敛的。假如 (A)(lambda>0) ,则 (A^n)(lambda^n) 。 级数不收敛。只有 (lambda<0) ,级数收敛,根据要求可以让级数约等于前面几项。

    证明

    证明 (Se^{Lambda t}S^{-1} =e^{A t})

    [egin{align} e^{A t}&=I+At+frac{ ext{(At)}^2}{2}+frac{ ext{(At)}^3}{6}+...++frac{ ext{(At)}^n}{n!}\ &=SS^{-1}+SLambda S^{-1} t+frac{SLambda^2 S^{-1}}{6}t^2+...++frac{SLambda^n S^{-1}}{n!}t^n\ &=Se^{Lambda t} S^{-1} end{align} ]

    前提条件是有 (n) 个特征向量,(S) 可逆,矩阵 (A) 才能对角化。

    其中

    [Lambda =left( egin{array}{cccc} lambda _1 & 0 & ... & 0 \ 0 & lambda _2 & ... & 0 \ ... & ... & ... & ... \ 0 & 0 & ... & lambda _n \ end{array} ight) ]

    矩阵指数 (e^{Lambda t}) 表达式为

    [e^{Lambda t} =left( egin{array}{cccc} e^{lambda_1 t} & 0 & ... & 0 \ 0 & e^{lambda_2 t} & ... & 0 \ ... & ... & ... & ... \ 0 & 0 & ... & e^{lambda_n t} \ end{array} ight) ]

    全部特征值小于0时,(e^{Lambda t}) 的对角线上全部元素收敛于0。

    我们可以在复平面上表示出来:

    1. 全部特征值小于0情况,就是当特征值位于左半平面时,可以使得微分方程存在稳定的解。
    2. 当特征值绝对值 (|lambda|<1) 时,即在单位元内,矩阵的幂收敛于0

    高阶微分方程的求解

    如何求解 (y''+by'+ky=0) ?

    想象斐波那契数列的思路

    [u=left( egin{array}{c} y' \ y \ end{array} ight) ]

    增加一个方程

    [y'=y' ]

    把向量 (u) 作为方程的未知数,原方程化为 (u) 的一阶微分方程。

    [egin{align} u’&=left( egin{array}{c} y'' \ y' \ end{array} ight)\ &=Au\ &=left( egin{array}{cc} -b & -k \ 1 & 0 \ end{array} ight).left( egin{array}{c} y' \ y \ end{array} ight) end{align} ]

    一个二阶微分方程变换为一个一阶方程,可以得到一个 (2*2) 矩阵 (A).

    类似的,对于一个5阶微分方程,可以得到一个 (5*5) 矩阵,这个方程使得5阶转换为一阶,然后我们就可以计算特征值和特征向量。

  • 相关阅读:
    第三节:MySQL的存储引擎及常用数据类型介绍
    第一节:MySQL的安装及使用
    10-单例模式
    windows linux—unix 跨平台通信集成控制系统----系统硬件信息获取
    windows linux—unix 跨平台通信集成控制系统----文件搜索
    Linux下查看内核、CPU、内存及各组件版本的命令和方法
    Linux下使用popen()执行shell命令
    图像边缘检测--OpenCV之cvCanny函数
    OpenCV GUI基本操作,回调函数,进度条,裁剪图像等
    图像边缘检测--OpenCV之cvCanny函数
  • 原文地址:https://www.cnblogs.com/ckk-blog/p/13769728.html
Copyright © 2011-2022 走看看