Geeks_Z の Blog Geeks_Z の Blog
首页
  • 学习笔记

    • 《HTML》
    • 《CSS》
    • 《JavaWeb》
    • 《Vue》
  • 后端文章

    • Linux
    • Maven
    • 汇编语言
    • 软件工程
    • 计算机网络概述
    • Conda
    • Pip
    • Shell
    • SSH
    • Mac快捷键
    • Zotero
  • 学习笔记

    • 《数据结构与算法》
    • 《算法设计与分析》
    • 《Spring》
    • 《SpringMVC》
    • 《SpringBoot》
    • 《SpringCloud》
    • 《Nginx》
  • 深度学习文章
  • 学习笔记

    • 《PyTorch》
    • 《ReinforementLearning》
    • 《MetaLearning》
  • 学习笔记

    • 《高等数学》
    • 《线性代数》
    • 《概率论与数理统计》
  • 增量学习
  • 哈希学习
GitHub (opens new window)

Geeks_Z

AI小学生
首页
  • 学习笔记

    • 《HTML》
    • 《CSS》
    • 《JavaWeb》
    • 《Vue》
  • 后端文章

    • Linux
    • Maven
    • 汇编语言
    • 软件工程
    • 计算机网络概述
    • Conda
    • Pip
    • Shell
    • SSH
    • Mac快捷键
    • Zotero
  • 学习笔记

    • 《数据结构与算法》
    • 《算法设计与分析》
    • 《Spring》
    • 《SpringMVC》
    • 《SpringBoot》
    • 《SpringCloud》
    • 《Nginx》
  • 深度学习文章
  • 学习笔记

    • 《PyTorch》
    • 《ReinforementLearning》
    • 《MetaLearning》
  • 学习笔记

    • 《高等数学》
    • 《线性代数》
    • 《概率论与数理统计》
  • 增量学习
  • 哈希学习
GitHub (opens new window)
  • 线性代数

    • 线性代数知识点总结
    • 方程组的几何解释
    • 矩阵消元
    • 乘法和逆矩阵
    • 矩阵的LU分解
    • 转换、置换、向量空间R
    • 列空间和零空间
    • 求解Ax=0主变量——特解
    • 求解Ax=b 可解性和解的结构
    • 线性相关性、基、维数
    • 四个基本子空间
    • 矩阵空间、秩1矩阵和小世界图
    • 图和网络
    • 正交向量与子空间
    • 子空间投影
    • 投影矩阵和最小二乘
    • 正交矩阵和Gram-Schmidt正交化法
    • 行列式及其性质
    • 行列式公式和代数余子式
    • 克拉默法则、逆矩阵、体积
    • 特征值和特征向量
    • 对角化和$A$的幂
    • 微分方程
      • 微分方程$\frac{\mathrm{d}u}{\mathrm{d}t}=Au$
      • 指数矩阵$e^{At}$
    • 马尔科夫矩阵、傅里叶级数
    • 对称矩阵及正定性
    • 对称矩阵及正定性
    • 复数矩阵和快速傅里叶变换
    • 正定矩阵和最小值
    • 相似矩阵和若尔当形
    • 奇异值分解
    • 线性变换及对应矩阵
    • 基变换和图像压缩
    • 左右逆和伪逆
  • 概率论与数理统计

  • 矩阵

  • 分布

  • 数学笔记
  • 线性代数
Geeks_Z
2024-05-01
目录

微分方程

微分方程dudt=Au

本讲主要讲解解一阶方程(first-order system)一阶倒数(first derivative)常系数(constant coefficient)线性方程,上一讲介绍了如何计算矩阵的幂,本讲将进一步涉及矩阵的指数形式。我们通过解一个例子来详细介绍计算方法。

有方程组{du1dt=−u1+2u2du2dt=u1−2u2,则系数矩阵是A=[−121−2],设初始条件为在0时刻u(0)=[u1u2]=[10]。

  • 这个初始条件的意义可以看做在开始时一切都在u1中,但随着时间的推移,将有du2dt>0,因为u1项初始为正,u1中的事物会流向u2。随着时间的发展我们可以追踪流动的变化。

  • 根据上一讲所学的知识,我们知道第一步需要找到特征值与特征向量。A=[−121−2],很明显这是一个奇异矩阵,所以第一个特征值是λ1=0,另一个特征向量可以从迹得到tr(A)=−3。当然我们也可以用一般方法计算|A−λI|=|−1−λ21−2−λ|=λ2+3λ=0。

    (教授提前剧透,特征值λ2=−3将会逐渐消失,因为答案中将会有一项为e−3t,该项会随着时间的推移趋近于0。答案的另一部分将有一项为e0t,该项是一个常数,其值为1,并不随时间而改变。通常含有0特征值的矩阵会随着时间的推移达到稳态。)

  • 求特征向量,λ1=0时,即求A的零空间,很明显x1=[21];λ2=−3时,求A+3I的零空间,[2211]的零空间为x2=[1−1]。

  • 则方程组的通解为:u(t)=c1eλ1tx1+c2eλ2tx2,通解的前后两部分都是该方程组的纯解,即方程组的通解就是两个与特征值、特征向量相关的纯解的线性组合。我们来验证一下,比如取u=eλ1tx1带入dudt=Au,对时间求导得到λ1eλ1tx1=Aeλ1tx1,化简得λ1x1=Ax1。

    对比上一讲,解uk+1=Auk时得到uk=c1λkx1+c2λkx2,而解dudt=Au我们得到u(t)=c1eλ1tx1+c2eλ2tx2。

  • 继续求c1,c2,u(t)=c1⋅1⋅[21]+c2⋅e−3t⋅[1−1],已知t=0时,[10]=c1[21]+c2[1−1](Sc=u(0)),所以c1=13,c2=13。

  • 于是我们写出最终结果,u(t)=13[21]+13e−3t[1−1]。

稳定性:这个流动过程从u(0)=[10]开始,初始值1的一部分流入初始值0中,经过无限的时间最终达到稳态u(∞)=[2313]。所以,要使得u(t)→0,则需要负的特征值。但如果特征值为复数呢?如λ=−3+6i,我们来计算|e(−3+6i)t|,其中的|e6it|部分为|cos⁡6t+isin⁡6t|=1,因为这部分的模为cos2⁡α+sin2⁡α=1,这个虚部就在单位圆上转悠。所以只有实数部分才是重要的。所以我们可以把前面的结论改为需要实部为负数的特征值。实部会决定最终结果趋近于0或∞,虚部不过是一些小杂音。

收敛态:需要其中一个特征值实部为0,而其他特征值的实部皆小于0。

发散态:如果某个特征值实部大于0。上面的例子中,如果将A变为−A,特征值也会变号,结果发散。

再进一步,我们想知道如何从直接判断任意二阶矩阵的特征值是否均小于零。对于二阶矩阵A=[abcd],矩阵的迹为a+d=λ1+λ2,如果矩阵稳定,则迹应为负数。但是这个条件还不够,有反例迹小于0依然发散:[−2001],迹为−1但是仍然发散。还需要加上一个条件,因为detA=λ1⋅λ2,所以还需要行列式为正数。

总结:原方程组有两个相互耦合的未知函数,u1,u2相互耦合,而特征值和特征向量的作则就是解耦,也就是对角化(diagonalize)。回到原方程组dudt=Au,将u表示为特征向量的线性组合u=Sv,代入原方程有Sdvdt=ASv,两边同乘以S−1得dvdt=S−1ASv=Λv。以特征向量为基,将u表示为Sv,得到关于v的对角化方程组,新方程组不存在耦合,此时{dv1dt=λ1v1dv2dt=λ2v2⋮⋮dvndt=λnvn,这是一个各未知函数间没有联系的方程组,它们的解的一般形式为v(t)=eΛtv(0),则原方程组的解的一般形式为u(t)=eAtu(0)=SeΛtS−1u(0)。这里引入了指数部分为矩阵的形式。

指数矩阵eAt

在上面的结论中,我们见到了eAt。这种指数部分带有矩阵的情况称为指数矩阵(exponential matrix)。

理解指数矩阵的关键在于,将指数形式展开称为幂基数形式,就像ex=1+x22+x36+⋯一样,将eAt展开成幂级数的形式为:

eAt=I+At+(At)22+(At)36+⋯+(At)nn!+⋯

再说些题外话,有两个极具美感的泰勒级数:ex=∑xnn!与11−x=∑xn,如果把第二个泰勒级数写成指数矩阵形式,有(I−At)−1=I+At+(At)2+(At)3+⋯,这个式子在t非常小的时候,后面的高次项近似等于零,所以可以用来近似I−At的逆矩阵,通常近似为I+At,当然也可以再加几项。第一个级数对我们而言比第二个级数好,因为第一个级数总会收敛于某个值,所以ex总会有意义,而第二个级数需要A特征值的绝对值小于1(因为涉及矩阵的幂运算)。我们看到这些泰勒级数的公式对矩阵同样适用。

回到正题,我们需要证明SeΛtS−1=eAt,继续使用泰勒级数:

eAt=I+At+(At)22+(At)36+⋯+(At)nn!+⋯eAt=SS−1+SΛS−1t+SΛ2S−12t2+SΛ3S−16t3+⋯+SΛnS−1n!tn+⋯eAt=S(I+Λt+Λ2t22+Λ3t33+⋯+Λntnn+⋯)S−1eAt=SeΛtS−1

需要注意的是,eAt的泰勒级数展开是恒成立的,但我们推出的版本却需要矩阵可对角化这个前提条件。

最后,我们来看看什么是eΛt,我们将eAt变为对角矩阵就是因为对角矩阵简单、没有耦合,eΛt=[eλ1t0⋯00eλ2t⋯0⋮⋮⋱⋮00⋯eλnt]。

有了u(t)=SeΛtS−1u(0),再来看矩阵的稳定性可知,所有特征值的实部均为负数时矩阵收敛,此时对角线上的指数收敛为0。如果我们画出复平面,则要使微分方程存在稳定解,则特征值存在于复平面的左侧(即实部为负);要使矩阵的幂收敛于0,则特征值存在于单位圆内部(即模小于1),这是幂稳定区域。(上一讲的差分方程需要计算矩阵的幂。)

同差分方程一样,我们来看二阶情况如何计算,有y″+by′+k=0。我们也模仿差分方程的情形,构造方程组{y″=−by′−kyy′=y′,写成矩阵形式有[y″y′]=[−b−k10][y′y],令u′=[y″y′],u=[y′y]。

继续推广,对于5阶微分方程y′′′′′+by⁗+cy‴+dy″+ey′+f=0,则可以写作[y′′′′′y⁗y‴y″y′]=[−b−c−d−e−f10000010000010000010][y⁗y‴y″y′y],这样我们就把一个五阶微分方程化为5×5一阶方程组了,然后就是求特征值、特征向量了步骤了。

上次更新: 2025/06/25, 11:25:50
对角化和$A$的幂
马尔科夫矩阵、傅里叶级数

← 对角化和$A$的幂 马尔科夫矩阵、傅里叶级数→

最近更新
01
帮助信息查看
06-08
02
常用命令
06-08
03
学习资源
06-07
更多文章>
Theme by Vdoing | Copyright © 2022-2025 Geeks_Z | MIT License
京公网安备 11010802040735号 | 京ICP备2022029989号-1
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式