原文:https://mp.weixin.qq.com/s/COpYKxQDMhqJRuMK2raMKQ函数
微分方程指含有未知函数及其导数的关系式,解微分方程就是找出未知函数。未知函数是一元函数的,叫常微分方程;未知函数是多元函数的,叫作偏微分方程。常微分方程有时也简称方程。微分方程是一门复杂的学科,对于常微分方程来讲,可使用特征值和特征向量的知识求解。学习
相关前置知识:spa
微分方程:单变量微积分11——常微分方程和分离变量3d
泰勒公式:单变量微积分30——幂级数和泰勒级数 blog
泰勒公式在0点展开的缘由:多项式函数可以拟合非线性问题原理get
求逆矩阵:线性代数笔记8——求解逆矩阵it
求行列式:线性代数20——行列式和代数余子式class
特征值和特征向量:线性代数22——特征值和特征向量变量
矩阵对角化:线性代数笔记23——矩阵的对角化和方幂原理
根据概念构造一个常微分方程:
目标是求得原函数u=u(t)的具体形式。经过积分求解:
这就是最终答案的通解,C是任意常数。实际上这种解法就是利用了不定积分的知识:
若是du/dt=u,可使用分离变量法的求解方式:
也就是说,当函数的导数是函数自己的时候,这个函数就是型如Aet的函数,因为A=eC是任意常数,因此常常用C代替A,写成u=Cet的形式。
同理,对于du/dt=λu,微分方程的解是u(t)=Ceλt。当t=0时:
因为C是任意常数,所以能够取C=u(0),获得u(t)= u(0)eλt,这样作能够去掉常数C。在实际问题中,u能够表示关于时间t的函数,对于时间来讲,一般能够把t=0看做初始条件。
如今将常微分方程扩展为常微分方程组,u1=u1(t),u2=u2(t),初始条件是t=0,初始值是u(0)=(1,0),求解微分方程:
能够把微分方程组写成向量矩阵的形式:
至关于将常微分方程中转换成了du/dt = Au的线性形式。
对于du/dt = Au来讲,u1和u2之间存在耦合(没有耦合就不必写成方程组了),A表示它们的耦合关系:
A能够用特征值和特征向量对角化,所以方程的解和矩阵A的特征值和特征向量存在关联关系。先求矩阵A的特征值。
或许你能够立刻看出A是个奇异矩阵,所以一个特征值是λ1=0。特征值之和是矩阵的迹,迹是矩阵主对角线元素和,所以能够求得另外一个特征值是λ2=(-1-2)-0=-3。
固然也能够用正统的方法求解:
接下来根据特征方程求得特征向量。
微分方程组有两组特解:
这是两个纯指数解的组合。须要注意的是,这里x1和x2都是二维向量,所以v1和v2也是二维的。
来验证一下v1,若是u=v1是方程的解,把v1代入原方程:
只要验证①=②是否成立就能够了,假设等式成立:
x1和λ1是Ax=λx的一组特征向量和特征值,所以①=②成立,v1是微分方程的解。同理,v2也是微分方程的解。
对于du/dt = Au来讲,若是v1和v2是方程的解,那么它们的线性组合也是方程的解,所以微分方程的通解是:
验证的方法和验证特解相似:
只要验证③=④是否成立就能够了,假设等式成立:
x1和λ1是Ax=λx的一组特征向量和特征值,所以⑤成立。同理,⑥也成立,所以通解成立。
最后将λ和x的值代入通解:
若是没有初始条件,到这里就结束了,这就是u(t)的形态。本例给出了初始值,能够由此继续计算出C1和C2:
当t→∞时:
随着t的增长,u(t)逐渐收敛到一个定值,咱们称u(t)为稳态。
通解指出了当A是2×2矩阵时u(t)达到稳态的条件:A的其中一个特征值是0,且另外一个特征值小于0(若是是复数,则复数的实部小于0)。若是λ1=0, λ2>0,u(t)是发散的。
回顾上一节的内容,在经过初始值求解C的时候:
若是用S表示特征向量矩阵,则上式能够写成Sc=u(0),即经过Sc=u(0)能够求得c。
常微分方程组du/dt = Au,u=(u1, u2),u1, u2是两个互相耦合的未知函数,A代表了它们的耦合关系,求解微分方程组的关键是如何解耦,而解耦的方式正是利用特征值和特征向量。如今的问题是,可否把微分方程的解表示成S和Λ的形式(Λ是特征值矩阵,参考上一章内容)?
既然u是经过A耦合的,A又能经过S和Λ对角化(A=SΛS-1),所以u能够用特征向量矩阵S解耦,令u=Sv,v(t)是某个未知的常微分方程组:
S是常矩阵,所以:
根据上一章矩阵对角化的内容:
这其实是获得了没有耦合的新方程组:
每一个方程均可以套用一开始讲过的内容:du/dt=λu,微分方程的解是u(t)=Ceλt,再代入初始条件t=0,u(t)=u(0)eλt:
将两者合并:
v(0)的具体值咱们不知道也不关心,只知道是个常向量,Sc=u(0),c是任意常向量,设c=v(0):
更进一步:
接下来解释为何会获得这个结论。
A是矩阵,eAt是以矩阵为指数的表达式,它表明什么意思呢?
咱们知道f(x)在x=0点处的泰勒展开式:
ex在x0=0点处的泰勒展开式是:
0的阶乘是1。展开式是收敛的,越靠后的项对整体的影响越小,越接近于0。证实起来较为容易:
所以ex是收敛的。
一样,eAt也在At=O点处进行泰勒展开,注意这里的O是A的同阶零矩阵,eO等于单位矩阵:
eAt也是收敛的。
上一章已经讲过矩阵的对角化:
代入到eAt中:
中间的一大堆正好是e∧t的泰勒展开式,所以eAt最终能够写成:
这就是矩阵指数的公式,固然,上式成立的前提是A能够对角化,即An×n存在n个独立的特征向量。
最后再来看看e∧t是什么。
和通解的形式一致,若是有初始值,能够根据初始值计算出具体的C。
如今有一个二阶常微分方程:
求解时须要把方程转换成矩阵的形式:
这就又变成了du/dt=Au的形式,能够用矩阵直接求解。
求解三阶常微分方程并构建eAt:
接下来须要求得A的特征值和特征矩阵。根据特征方程可获得:
接下来经过3个特征值求的特征向量:
第1个特征向量的特解是:
相似的方式求得另外两个特征向量:
u(t)的通解:
最后来构建eAt:
相关前置知识:
微分方程:单变量微积分11——常微分方程和分离变量
泰勒公式:单变量微积分30——幂级数和泰勒级数
泰勒公式在0点展开的缘由:多项式函数可以拟合非线性问题原理
求逆矩阵:线性代数笔记8——求解逆矩阵
求行列式:线性代数20——行列式和代数余子式
特征值和特征向量:线性代数22——特征值和特征向量
矩阵对角化:线性代数笔记23——矩阵的对角化和方幂
做者:我是8位的
出处:http://www.cnblogs.com/bigmonkey
本文以学习、研究和分享为主,如需转载,请联系本人,标明做者和出处,非商业用途!
扫描二维码关注做者公众号“我是8位的”