线性代数之——微分方程和 exp(At)
本节的核心是将常系数微分方程转化为线性代数问题。
\[\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)的更多相关文章
- 线性代数笔记24——微分方程和exp(At)
原文:https://mp.weixin.qq.com/s/COpYKxQDMhqJRuMK2raMKQ 微分方程指含有未知函数及其导数的关系式,解微分方程就是找出未知函数.未知函数是一元函数的,叫常 ...
- 【线性代数】6-3:微分方程的应用(Applications to Differential Equations)
title: [线性代数]6-3:微分方程的应用(Applications to Differential Equations) categories: Mathematic Linear Algeb ...
- 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 ...
- (转载)Ubuntu 安装GNU Scientific library(GSL)
背景: Blei的hlda的C语言实现需要使用C语言的科学计算包GSL,因此决定安装.由于在windows下安装极其繁琐,先在Linux上安装之. 系统环境: Linux version 2.6.35 ...
- ubuntu14.04 下安装 gsl 科学计算库
GSL(GNU Scientific Library)作为三大科学计算库之一,除了涵盖基本的线性代数,微分方程,积分,随机数,组合数,方程求根,多项式求根,排序等,还有模拟退火,快速傅里叶变换,小波, ...
- Ubuntu 安装GNU Scientific library(GSL)
注: 此系列为自己之前所搭建网站内容. 由于论文数据处理的需要,需要使用libeemd这个包,需要安装gsl科学库,windows下没有办法,只能转战ubuntu进行科学计算. GSL(GNU Sci ...
- 面向对象软件构造 (Bertrand Meyer 著)
Part A: The Issues 议题 第一章 软件品质 第二章 面向对象的标准 Part B: The Road To Object Orientation 通向面向对象之路 第三章 模块性 第 ...
- MATLAB求解代数方程、微分方程的一些常用指令
MATLAB版本:R2015b 1.求解符号矩阵的行列式.逆.特征值.特征向量 A = sym('[a11, a12; a21, a22]');deltaA = det(A)invA = inv(A) ...
- 龙哥库塔法or欧拉法求解微分方程matlab实现
举例:分别用欧拉法和龙哥库塔法求解下面的微分方程 我们知道的欧拉法(Euler)"思想是用先前的差商近似代替倒数",直白一些的编程说法即:f(i+1)=f(i)+h*f(x,y)其 ...
随机推荐
- Oracle 体系结构一 概述
Oracle服务器由两个实体组成:实例和数据库. 实例由内存结构和进程组成. 它暂时存在于RAM和CPU中.当关闭运行的实例时,实例将消失的无影无踪. 数据库由磁盘上的文件组成.不管在运行状态还是停止 ...
- JAVA给你讲它的故事
计算机语言如果你将它当做一个产品,就像我们平时用的电视机.剃须刀.电脑.手机等, 他的发展也是有规律的. 任何一个产品的发展规律都是:向着人更加容易使用.功能越来越强大的方向发展. 那么,我们的计算机 ...
- Linux -- cal/bc/LANGE与帮助文档
cal 显示日历命令 使用cal命令,显示日历 cal [month] [year] 1.显示当前的日历 [root@localhost ~]# cal 一月 日 一 二 三 四 五 六 2.显示指定 ...
- 断言assert()与调试帮助
列表内容assert()是一种预处理宏(preprocessor marco),使用一个表达式来作为条件,只在DEBUG模式下才有用. assert(expr); 对expr求值,如果expr为假,则 ...
- mysqld_safe之三言两语
today,one buddy in IMG wechat group 2 asked "why i've installed the MySQL 5.7 on linux serv ...
- Apache httpd Server Notes
1. httpd启动.停止以及重启 启动: apachectl –f $PATH_TO_CONF/httpd.conf 停止及重启 apachectl –k stop/restart/graceful ...
- 『Python基础-1 』 编程语言Python的基础背景知识
#『Python基础-1 』 编程语言Python的基础背景知识 目录: 1.编程语言 1.1 什么是编程语言 1.2 编程语言的种类 1.3 常见的编程语言 1.4 编译型语言和解释型语言的对比 2 ...
- python学习笔记~INI、REG文件读取函数(自动修复)
引入configparser,直接read整个INI文件,再调用get即可.但需要注意的是,如果INI文件本身不太规范,就会报各种错,而这又常常不可避免的.本文自定义函数通过try...except. ...
- app与php后台接口登录认证、验证(seesion和token)
简要:随着电商的不断发展,APP也层次不穷,随着科技的发展主要登录形式(微信.QQ.账号/密码):为此向大家分享一下"app与php后台接口登录认证.验证"想法和做法:希望能够帮助 ...
- mac+win10:UEFI分区方式下安装windows 10
小编,最近通过在远景论坛上寻找教程--安装双系统(win10+mac os).经过一天努力,成功安装win10.为此,特地分享给各位正在需求教程的朋友,我在UEFI分区方式下安装windows 10的 ...