本节的核心是将常系数微分方程转化为线性代数问题。

\[\frac{du}{dt}=\lambda u \quad 的解为 \quad u(t) = Ce^{\lambda t}\]

代入 \(t=0\),可得 \(u(0) = C\),因此有 \(u(t) = u(0)e^{\lambda t}\)。这是只有一个变量的情况,在线性代数里,我们扩展到 \(n\) 个方程的情况。

\[\frac{d\boldsymbol u}{dt}=A \boldsymbol u \quad 初始条件为向量 \quad \boldsymbol u(0)_{t=0} \]

注意,这里 \(A\) 是常矩阵,不随时间而改变。而且这些方程是线性的,如果 \(\boldsymbol u(t)\) 和 \(\boldsymbol v(t)\) 都是方程组的解,那么它们的线性组合 \(C\boldsymbol u(t)+D\boldsymbol v(t)\) 也是解,我们需要 \(n\) 个这样的常数来匹配方程组的初始条件。

1. \(\frac{d\boldsymbol u}{dt}=A \boldsymbol u\) 的解

其中一个解是 \(e^{\lambda t} \boldsymbol x\),\(\lambda\) 是矩阵 \(A\) 的特征值,而 \(\boldsymbol x\) 是特征向量。将这个解代入原方程,利用 \(A\boldsymbol x=\lambda \boldsymbol x\) 可得

\[\frac{d\boldsymbol u}{dt} = \lambda e^{\lambda t} \boldsymbol x = A e^{\lambda t} \boldsymbol x=A \boldsymbol u\]

这个解的所有部分都有 \(e^{\lambda t}\),当 \(\lambda>0\) 时,解会增长;当 \(\lambda<0\) 时,解会衰减。而当 \(\lambda\) 为虚数时,则它的实部决定解是增长还是衰减。

  • 例 1

求解 \(\frac{d\boldsymbol u}{dt}=A \boldsymbol u = \begin{bmatrix}0&1 \\ 1&0\end{bmatrix}\boldsymbol u,\boldsymbol u_0 = \begin{bmatrix}4 \\ 2\end{bmatrix}\)。

矩阵 \(A\) 的特征值为 1 和 -1,特征向量为 (1, 1) 和 (1, -1),因此两个纯指数解为:

\[\boldsymbol u_1(t) = e^{\lambda_1 t} \boldsymbol x_1 = e^t\begin{bmatrix}1 \\ 1\end{bmatrix}\]

\[\boldsymbol u_2(t) = e^{\lambda_2 t} \boldsymbol x_2 = e^{-t}\begin{bmatrix}1 \\ -1\end{bmatrix}\]

这些 \(\boldsymbol u\) 依然是矩阵的特征向量,它们满足 \(A\boldsymbol u_1 = \boldsymbol u_1\) 和 \(A\boldsymbol u_2 = -\boldsymbol u_2\),只不过是系数随着 \(t\) 改变罢了。方程组的全解为这些特解的线性组合。

利用初始条件我们可以确定出系数 \(C\) 和 \(D\)。

因此,我们可以通过以下三个步骤来求解 \(\frac{d\boldsymbol u}{dt}=A \boldsymbol u\)。

  • 将 \(\boldsymbol u_0\) 写成特征向量的线性组合,\(\boldsymbol u_0 = c_1 \boldsymbol x_1+\cdots+c_n \boldsymbol x_n\);
  • 将每个特征向量 \(\boldsymbol x_i\) 乘以 \(e^{\lambda_i t}\);
  • 全解就是 \(e^{\lambda t}\boldsymbol x\) 的线性组合,\(\boldsymbol u(t) = c_1 e^{\lambda_1 t}\boldsymbol x_1+\cdots+c_ne^{\lambda_n t} \boldsymbol x_n\)。

注意,如果两个特征值相同而只有一个对应的特征向量,那么我们就需要另外一个解 \(te^{\lambda t}\boldsymbol x\)。

  • 例 2

2. 二阶方程组

针对二阶方程 \(my''+by'+ky=0\),我们将之转化为矩阵形式,假设 \(m=1\)。

因此,我们需要先求解出矩阵的特征值和特征向量。

3. 2×2 矩阵的稳定性

针对方程组的解,我们想知道随着 \(t \to \infty\),解是否趋向于 \(\boldsymbol u = 0\),也就是问题是否是稳定的。这取决于矩阵的特征值。

全解是由 \(e^{\lambda t}\boldsymbol x\) 构建出来的。如果特征值 \(\lambda\) 是实数,只有当 \(\lambda<0\) 时,解才会趋向 0。如果特征值 \(\lambda\) 是复数,那么有 \(\lambda=r+is\),那么其实部必须小于零。

对 2×2 矩阵 \(\begin{bmatrix}a&b \\ c&d\end{bmatrix}\) 来说,如果其两个特征值满足上面的两个条件,则一定有:

\[\lambda_1 + \lambda_2 < 0 \to 矩阵的迹 \quad T = a + d < 0 \]

\[\lambda_1 \lambda_2 > 0 \to 矩阵的行列式 \quad D = ad - bc > 0 \]

4. 矩阵的指数次方

最后,我们想将方程组的解写成一个新的形式 \(\boldsymbol u(t) =e^{At}\boldsymbol u_0\)。

\[e^x = 1 + x+\frac{1}{2}x^2+\frac{1}{6}x^3 + \cdots\]

我们将 \(x\) 换成矩阵,可得:

\[e^{At} = I + At+\frac{1}{2}(At)^2+\frac{1}{6}(At)^3 + \cdots\]

它的导数为 \(Ae^{At}\):

\[A + A^2t+\frac{1}{2}A^3t^2+\frac{1}{6}A^4t^3 + \cdots =Ae^{At} \]

它的特征值是 \(e^{\lambda t}\):

\[(I + At+\frac{1}{2}(At)^2+\frac{1}{6}(At)^3 + \cdots)x = (1+\lambda t + \frac{1}{2}(\lambda t)^2+\frac{1}{6}(\lambda t)^3 + \cdots)x\]

假设 \(A\) 有 \(n\) 个线性不相关的特征向量,将 \(A=S\Lambda S^{-1}\) 代入 \(e^{At}\) 可得:

\[e^{At} = I + At+\frac{1}{2}(At)^2+\frac{1}{6}(At)^3 + \cdots\]

\[= I + S\Lambda S^{-1}t+\frac{1}{2}(S\Lambda S^{-1}t)(S\Lambda S^{-1}t)+ \cdots\]

将 \(S\) 和 \(S^{-1}\) 提取出来有

\[= S(I + \Lambda t+\frac{1}{2}(\Lambda t)^2+\cdots)S^{-1} = Se^{\Lambda t}S^{-1}\]

这和之前解的形式是一模一样的!

  • 例 3

\(e^{At}\) 满足下面三个规则:

  • \(e^{At}\) 总有逆矩阵 \(e^{-At}\);
  • \(e^{At}\) 的特征值总是 \(e^{\lambda t}\);
  • 如果 \(A\) 是反对称矩阵,即 \(A^T=-A\),那么 \(e^{-At}\) 是一个正交矩阵,转置等于逆。

  • 例 4

获取更多精彩,请关注「seniusen」!

线性代数之——微分方程和 exp(At)的更多相关文章

  1. 线性代数笔记24——微分方程和exp(At)

    原文:https://mp.weixin.qq.com/s/COpYKxQDMhqJRuMK2raMKQ 微分方程指含有未知函数及其导数的关系式,解微分方程就是找出未知函数.未知函数是一元函数的,叫常 ...

  2. 【线性代数】6-3:微分方程的应用(Applications to Differential Equations)

    title: [线性代数]6-3:微分方程的应用(Applications to Differential Equations) categories: Mathematic Linear Algeb ...

  3. Matlab基础

    基本运算: 一,矩阵的生成 clc ; clear all; close all; 1.直接输入 A = [ 1 ,2 ,3,4;2,3,4,5;3,4,5,6] A = 1 2 3 4 2 3 4 ...

  4. (转载)Ubuntu 安装GNU Scientific library(GSL)

    背景: Blei的hlda的C语言实现需要使用C语言的科学计算包GSL,因此决定安装.由于在windows下安装极其繁琐,先在Linux上安装之. 系统环境: Linux version 2.6.35 ...

  5. ubuntu14.04 下安装 gsl 科学计算库

    GSL(GNU Scientific Library)作为三大科学计算库之一,除了涵盖基本的线性代数,微分方程,积分,随机数,组合数,方程求根,多项式求根,排序等,还有模拟退火,快速傅里叶变换,小波, ...

  6. Ubuntu 安装GNU Scientific library(GSL)

    注: 此系列为自己之前所搭建网站内容. 由于论文数据处理的需要,需要使用libeemd这个包,需要安装gsl科学库,windows下没有办法,只能转战ubuntu进行科学计算. GSL(GNU Sci ...

  7. 面向对象软件构造 (Bertrand Meyer 著)

    Part A: The Issues 议题 第一章 软件品质 第二章 面向对象的标准 Part B: The Road To Object Orientation 通向面向对象之路 第三章 模块性 第 ...

  8. MATLAB求解代数方程、微分方程的一些常用指令

    MATLAB版本:R2015b 1.求解符号矩阵的行列式.逆.特征值.特征向量 A = sym('[a11, a12; a21, a22]');deltaA = det(A)invA = inv(A) ...

  9. 龙哥库塔法or欧拉法求解微分方程matlab实现

    举例:分别用欧拉法和龙哥库塔法求解下面的微分方程 我们知道的欧拉法(Euler)"思想是用先前的差商近似代替倒数",直白一些的编程说法即:f(i+1)=f(i)+h*f(x,y)其 ...

随机推荐

  1. #leetcode刷题之路37-解数独

    编写一个程序,通过已填充的空格来解决数独问题.一个数独的解法需遵循如下规则:数字 1-9 在每一行只能出现一次.数字 1-9 在每一列只能出现一次.数字 1-9 在每一个以粗实线分隔的 3x3 宫内只 ...

  2. 阿里云centOS7.4上MySql5.6安装

    最近一个项目要部署在阿里云上,为了开发团队方便,我自费买了个ECS,先装个数据库给开发用. 因为之前都是在真机安装,与这次阿里云上的部署比起来,还是有点区别的. Mysql 1 安装mysql版本包 ...

  3. window系统mysql无法输入和无法显示中文的处理配置

    第一步:使用记事本打开mysql安装目录下的"my.ini”文件. # MySQL client library initialization. [client] port= [mysql] ...

  4. HTML-CSS的几种布局

    第一种  两栏式布局 <body> <!-- 两栏式布局 --> <!-- 想要的效果是左边图片右边文字 拉伸盒子文字的高度宽度自动改变 --> <div c ...

  5. 【NXP开发板应用—智能插排】3.驱动GPIO点亮外接LED

    [前言] 首先感谢深圳市米尔科技有限公司举办的这次活动并予以本人参加这次活动的机会,以往接触过嵌入式,但那都是皮毛,最多刷个系统之类的,可以说对于嵌入式系统开发这件事情是相当非常陌生的,这次活动为我提 ...

  6. win10每次重新启动,eclipse不能打开,要重新配jdk环境的解决办法

    在后面加上反斜杠就好,也不知道是什么原因,知道的同学希望可以在下面的评论告诉我.

  7. css dropdown menu

    <ul> <li class="left">abc</li> <li class="middle" id=" ...

  8. 20145234黄斐《Java程序设计》第七周学习总结

    教材学习内容总结 Lambda语法 Lambda去可以重复,符合DRY原则,而且Lambda表达式可读性更好,操作更简单 匿名类型最大的问题就在于其冗余的语法,lambda表达式是匿名方法,它提供了轻 ...

  9. services 系统服务的启动、停止、卸载

    MySQL服务的启动.停止与卸载 在 Windows 命令提示符下运行: 启动: net start MySQL 停止: net stop MySQL 卸载: sc delete MySQL Sc d ...

  10. 【转】Odoo 学习之:constrains装饰

    constrains装饰用于对字段进行限制 应用举例: 定义列: age = fields.Integer(string="age") 方法: @api.constrains('a ...