常见的常微分方程的一般解法
本文归纳常见的常微分方程的一般解法。
如果没有出现意外,本文将不包含解法的推导过程。
常微分方程,我们一般可以将其归纳为如下n类:
- 可分离变量的微分方程(一阶)
- 一阶齐次(非齐次)线性微分方程(一阶),包含伯努利
- 二阶常系数微分方程(二阶)
- 高阶常系数微分方程(n阶),包含欧拉
1.可分离变量的微分方程(一阶)
这类微分方程可以变形成如下形式:
f(x)dx=g(y)dyf(x)dx=g(y)dyf(x)dx=g(y)dy
两边同时积分即可解出函数,难度主要在于不定积分,是最简单的微分方程。
p.s. 某些方程看似不可分离变量,但是经过换元之后,其实还是可分离变量的,不要被这种方程迷惑。
2.一阶齐次(非齐次)线性微分方程(一阶)
形如
dydx+P(x)y=Q(x)\frac{dy}{dx}+P(x)y=Q(x)dxdy+P(x)y=Q(x)
的方程叫做一阶线性微分方程,若Q(x)Q(x)Q(x)为0,则方程齐次,否则称为非齐次。
解法:直接套公式:
y(x)=e−∫P(x)dx(∫e∫P(x)dxQ(x)dx+C)y(x)=e^{-\int{P(x)}dx}(\int{e^{\int{P(x)dx}}Q(x)}dx+C)y(x)=e−∫P(x)dx(∫e∫P(x)dxQ(x)dx+C)
多套几遍熟练就好。
伯努利方程
形如
dydx+P(x)y=Q(x)yn,n∈R,n≠1\frac{dy}{dx}+P(x)y=Q(x)y^{n},n\in\mathbb{R},n\ne1dxdy+P(x)y=Q(x)yn,n∈R,n=1
的方程称为伯努利方程,这种方程可以通过以下步骤化为一阶线性微分方程:
y−ndydx+P(x)y1−n=Q(x)y^{-n}\frac{dy}{dx}+P(x)y^{1-n}=Q(x)y−ndxdy+P(x)y1−n=Q(x)
11−n⋅dy1−ndx+P(x)y1−n=Q(x)\frac{1}{1-n}·\frac{dy^{1-n}}{dx}+P(x)y^{1-n}=Q(x)1−n1⋅dxdy1−n+P(x)y1−n=Q(x)
令y1−n=uy^{1-n}=uy1−n=u,方程两边同时乘以1−n1-n1−n,得到
dudx+(1−n)P(x)u=(1−n)Q(x)\frac{du}{dx}+(1-n)P(x)u=(1-n)Q(x)dxdu+(1−n)P(x)u=(1−n)Q(x)
即dudx+P′(x)u=Q′(x)\frac{du}{dx}+P'(x)u=Q'(x)dxdu+P′(x)u=Q′(x)
这是可以套公式的一阶线性微分方程。
3.二阶常系数微分方程(二阶)
形如
y′′+py′+qy=f(x)y''+py'+qy=f(x)y′′+py′+qy=f(x)
的方程称为二阶常系数微分方程,若f(x)≡0f(x)\equiv0f(x)≡0,则方程称为齐次的,反之称为非齐次的。以下默认方程是非齐次的。
求解此类方程分两步:
- 求出齐次通解
- 求出非齐次特解
方程的解就是齐次通解和非齐次特解的和。
齐次通解的求法
首先假设f(x)≡0f(x)\equiv0f(x)≡0.
用特征方程法,写出对应的特征方程并且求解:
r2+pr+q=0r^{2}+pr+q=0r2+pr+q=0
解的情况分为以下三种:
情况一:方程有两个不同的实数解
假设两个实数解分别是r1、r2r_{1}、r_{2}r1、r2,
此时方程的通解是
Y(x)=C1er1x+C2er2xY(x)=C_{1}e^{r_{1}x}+C_{2}e^{r_{2}x}Y(x)=C1er1x+C2er2x.
情况二:方程有一个二重解
假设该解等于rrr,
此时方程的通解是
Y(x)=(C1+C2x)erxY(x)=(C_{1}+C_{2}x)e^{rx}Y(x)=(C1+C2x)erx.
情况三:方程有一对共轭复解
假设这对解是α±iβ\alpha\pm i\betaα±iβ
此时方程的通解是
Y(x)=eαx(C1cos(βx)+C2sin(βx))Y(x)=e^{\alpha x}(C_{1}cos(\beta x)+C_{2}sin(\beta x))Y(x)=eαx(C1cos(βx)+C2sin(βx))
非齐次特解的求法
对于f(x)f(x)f(x)和特征根的情况,对特解的情况做如下归纳:
1.f(x)=Pm(x)f(x)=P_{m}(x)f(x)=Pm(x),其中Pm(x)P_{m}(x)Pm(x)表示xxx的最高次数为m的多项式。
若0不是方程特征解
则方程有特解y∗=Qm(x)y^{*}=Q_{m}(x)y∗=Qm(x)
若0是方程的单特征解
则方程有特解y∗=xQm(x)y^{*}=xQ_{m}(x)y∗=xQm(x)
若0是方程的二重特征解
则方程有特解y∗=x2Qm(x)y^{*}=x^{2}Q_{m}(x)y∗=x2Qm(x).
其中,Qm(x)=b0+b1x+……+bmxmQ_{m}(x)=b_{0}+b_{1}x+……+b_{m}x^{m}Qm(x)=b0+b1x+……+bmxm,
bi(i=0,1,……m)b_{i}(i = 0,1,……m)bi(i=0,1,……m)是需要带回原方程来确定的系数。
2.f(x)=eαxPm(x)f(x)=e^{\alpha x}P_{m}(x)f(x)=eαxPm(x).
若α\alphaα不是方程特征解
则方程有特解y∗=eαxQm(x)y^{*}=e^{\alpha x}Q_{m}(x)y∗=eαxQm(x)
若α\alphaα是方程的单特征解
则方程有特解y∗=xeαxQm(x)y^{*}=xe^{\alpha x}Q_{m}(x)y∗=xeαxQm(x)
若α\alphaα是方程的二重特征解
则方程有特解y∗=x2eαxQm(x)y^{*}=x^{2}e^{\alpha x}Q_{m}(x)y∗=x2eαxQm(x).
3.f(x)=eαx(a1cos(βx)+a2sin(βx))f(x)=e^{\alpha x}(a_{1}cos(\beta x)+a_{2}sin(\beta x))f(x)=eαx(a1cos(βx)+a2sin(βx))
若α±iβ\alpha\pm i\betaα±iβ不是特征解
则方程有特解y∗=eαx(A1cos(βx)+A2sin(βx))y^{*}=e^{\alpha x}(A_{1}cos(\beta x)+A_{2}sin(\beta x))y∗=eαx(A1cos(βx)+A2sin(βx))
若α±iβ\alpha\pm i\betaα±iβ是特征解
则方程有特解y∗=xeαx(A1cos(βx)+A2sin(βx))y^{*}=xe^{\alpha x}(A_{1}cos(\beta x)+A_{2}sin(\beta x))y∗=xeαx(A1cos(βx)+A2sin(βx))
其中A1A_{1}A1、A2A_{2}A2是需要带回原方程来确定的系数。
4.高阶常系数微分方程(n阶),包含欧拉
形如y(n)+p1y(n−1)+...+pn−1y′+pny=f(x)y^{(n)}+p_{1}y^{(n-1)}+...+p_{n-1}y'+p_{n}y=f(x)y(n)+p1y(n−1)+...+pn−1y′+pny=f(x)
的方程叫做高阶常系数微分方程,若f(x)≡0f(x)\equiv0f(x)≡0,则方程是齐次的,否则是非齐次的。下面默认方程是非齐次的。
求解此类方程分两步:
- 求出齐次通解
- 求出非齐次特解
方程的解就是齐次通解和非齐次特解的和。
齐次通解的求法
使用特征方程法。首先假设f(x)≡0f(x)\equiv0f(x)≡0.
列出特征方程并求解:
rn+p1rn−1+...+pn−1r+pn=0r^{n}+p_{1}r^{n-1}+...+p_{n-1}r+p_{n}=0rn+p1rn−1+...+pn−1r+pn=0
得到的解无非是以下四种情形:
- 1重实数解
- k重实数解
- 一对1重共轭复数解
- 一对k重共轭复数解
每出现一种情形的解,通解y(x)y(x)y(x)中就多出一项,各项之和就构成了整个通解。
根据下面的规则可以写出不同情况下的通解
1重实数解
设λ\lambdaλ是特征方程的一个1重实数解。
则应该为它在通解中增加这样一项:
CeλxCe^{\lambda x}Ceλx
k重实数解
设λ\lambdaλ是特征方程的一个k重实数解。
则应该为它在通解中增加这样一项(如果拆开括号就是k项):
eλx(C1+C2x+...+Ckxk−1)e^{\lambda x}(C_{1}+C_{2}x+...+C_{k}x^{k-1})eλx(C1+C2x+...+Ckxk−1)
一对1重共轭复数解
设α±iβ\alpha\pm i\betaα±iβ是特征方程的一对1重共轭复数解。
则应该为它在通解中增加这样一项(如果拆开括号就是2项):
eαx(C1cos(βx)+C2sin(βx))e^{\alpha x}(C_{1}cos(\beta x)+C_{2}sin(\beta x))eαx(C1cos(βx)+C2sin(βx))
一对k重共轭复数解
设α±iβ\alpha\pm i\betaα±iβ是特征方程的一对k重共轭复数解。
则应该为它在通解中增加这样一项(如果拆开括号就是2k项):
eαx[(C1+C2x+...+Ckxk−1)cos(βx)+e^{\alpha x}[(C_{1}+C_{2}x+...+C_{k}x^{k-1})cos(\beta x)+eαx[(C1+C2x+...+Ckxk−1)cos(βx)+
(D1+D2x+...+Dkxk−1)sin(βx)](D_{1}+D_{2}x+...+D_{k}x^{k-1})sin(\beta x)](D1+D2x+...+Dkxk−1)sin(βx)]
当你为每一个特征方程的解写出对应的项后,把他们加起来,就得到齐次方程的通解了。
非齐次特解的求法
1.f(x)=Pm(x)f(x)=P_{m}(x)f(x)=Pm(x),其中Pm(x)P_{m}(x)Pm(x)表示xxx的最高次数为m的多项式。
若0不是方程特征解
则方程有特解y∗=Qm(x)y^{*}=Q_{m}(x)y∗=Qm(x)
若0是方程的k重特征解
则方程有特解y∗=xkQm(x)y^{*}=x^{k}Q_{m}(x)y∗=xkQm(x)
其中,Qm(x)=b0+b1x+……+bmxmQ_{m}(x)=b_{0}+b_{1}x+……+b_{m}x^{m}Qm(x)=b0+b1x+……+bmxm,
bi(i=0,1,……m)b_{i}(i = 0,1,……m)bi(i=0,1,……m)是需要带回原方程来确定的系数。
2.f(x)=eαxPm(x)f(x)=e^{\alpha x}P_{m}(x)f(x)=eαxPm(x).
若α\alphaα不是方程特征解
则方程有特解y∗=eαxQm(x)y^{*}=e^{\alpha x}Q_{m}(x)y∗=eαxQm(x)
若α\alphaα是方程的k重特征解
则方程有特解y∗=xkeαxQm(x)y^{*}=x^{k}e^{\alpha x}Q_{m}(x)y∗=xkeαxQm(x).
3.f(x)=eαx(a1cos(βx)+a2sin(βx))f(x)=e^{\alpha x}(a_{1}cos(\beta x)+a_{2}sin(\beta x))f(x)=eαx(a1cos(βx)+a2sin(βx))
若α±iβ\alpha\pm i\betaα±iβ不是特征解
则方程有特解y∗=eαx(A1cos(βx)+A2sin(βx))y^{*}=e^{\alpha x}(A_{1}cos(\beta x)+A_{2}sin(\beta x))y∗=eαx(A1cos(βx)+A2sin(βx))
若α±iβ\alpha\pm i\betaα±iβ是k重特征解
则方程有特解y∗=xkeαx(A1cos(βx)+A2sin(βx))y^{*}=x^{k}e^{\alpha x}(A_{1}cos(\beta x)+A_{2}sin(\beta x))y∗=xkeαx(A1cos(βx)+A2sin(βx))
其中A1A_{1}A1、A2A_{2}A2是需要带回原方程来确定的系数。
欧拉方程
形如
xny(n)+p1xn−1y(n−1)+...+pn−1xy′+pny=f(x)x^{n}y^{(n)}+p_{1}x^{n-1}y^{(n-1)}+...+p_{n-1}xy'+p_{n}y=f(x)xny(n)+p1xn−1y(n−1)+...+pn−1xy′+pny=f(x)
的方程叫做欧拉方程,它可以变形成常系数微分方程。
变形过程如下:
做变换:x=etx=e^{t}x=et, 或t=ln(x)t=ln(x)t=ln(x)
于是
dydx=dtdxdydx=1xdydt\frac{dy}{dx}=\frac{dt}{dx}\frac{dy}{dx}=\frac{1}{x}\frac{dy}{dt}dxdy=dxdtdxdy=x1dtdy
d2ydx2=1x2(d2ydt2−dydt)\frac{d^{2}y}{dx^{2}}=\frac{1}{x^{2}}(\frac{d^2y}{dt^2}-\frac{dy}{dt})dx2d2y=x21(dt2d2y−dtdy)
d3ydx3=1x3(d3ydt3−3d2ydt2+2dydt)\frac{d^{3}y}{dx^{3}}=\frac{1}{x^{3}}(\frac{d^3y}{dt^3}-3\frac{d^2y}{dt^2}+2\frac{dy}{dt})dx3d3y=x31(dt3d3y−3dt2d2y+2dtdy)
……
记Dky=dkydtkD^{k}y=\frac{d^{k}y}{dt^{k}}Dky=dtkdky
则xy′=Dyxy'=Dyxy′=Dy
x2y′′=D(D−1)yx^{2}y''=D(D-1)yx2y′′=D(D−1)y
x3y(3)=D(D−1)(D−2)yx^{3}y^{(3)}=D(D-1)(D-2)yx3y(3)=D(D−1)(D−2)y
…
一般的,xky(k)=D(D−1)...(D−k+1)yx^{k}y^{(k)}=D(D-1)...(D-k+1)yxky(k)=D(D−1)...(D−k+1)y.
这样,欧拉方程就是关于yyy和ttt的常系数微分方程。
解出yyy后,将t=ln(x)t=ln(x)t=ln(x)带入即得y(x)y(x)y(x).
如有错误欢迎指出。
常见的常微分方程的一般解法相关推荐
- 常微分方程数值解的c语言程序,常微分方程的数值解法 一阶常微分方程数值解的C语言编程实现.doc...
常微分方程的数值解法 一阶常微分方程数值解的C语言编程实现 导读:就爱阅读网友为您分享以下"一阶常微分方程数值解的C语言编程实现"资讯,希望对您有所帮助,感谢您对92的支持! 一阶 ...
- 【数理知识】《数值分析》李庆扬老师-第9章-常微分方程初值问题数值解法
第8章 回到目录 无 第9章-常微分方程初值问题数值解法 9.1 引言 利普希茨 (Lipschitz) 条件 / 利普希茨常数 定理1 解的存在唯一性定理 定理2 解对初值依赖的敏感性 9.2 简单 ...
- [常微分方程的数值解法系列五] 龙格-库塔(RK4)法
龙格-库塔法 简介 基本思想 具体方法 一阶 二阶 求解参数 特殊二阶 三阶 高阶 步长选择 例子 在惯性导航以及VIO等实际问题中利用IMU求解位姿需要对IMU测量值进行积分得到需要的位置和姿态,其 ...
- 二阶常微分方程的数值解法(中心差分法和有限体积法)
二阶常微分方程的数值解法(中心差分法和有限体积法) 这里我们介绍中心差分法和有限体积法求解方程. 题目: 用差分法的中心差分格式和有限体积法求解两点边值问题 u′′−α(2x−1)u′−2αu=0,0 ...
- 一阶常微分方程的数值解法(二阶显式、隐式 Adams 公式及 Milne 方法)
一阶常微分方程的数值解法 这里我们介绍二阶显式.隐式 Adams 公式及 Milne 方法求解方程. 题目: 对初值问题 u ′ = u − t 2 , 0 ≤ t ≤ 1 , u ( 0 ) = 0 ...
- 常微分方程初值问题数值解法[完整公式](Python)
目录 1.概述 (1)常微分方程初值问题数值解法 (2)解题步骤 (3)数值微分解法 (4)数值积分解法 2.所有知识点代码 3.结果---以三阶Runge-Kutta公式为例(其他的类似) 1.概述 ...
- [常微分方程的数值解法系列三] 改进欧拉法(预估校正法)
改进欧拉法 简介 预估-校正 截断误差 例子 在惯性导航以及VIO等实际问题中利用IMU求解位姿需要对IMU测量值进行积分得到需要的位置和姿态,其中主要就是求解微分方程.但之前求解微分方程的解析方法主 ...
- [常微分方程的数值解法系列二] 欧拉法
欧拉法 简介 几何意义 证明 泰勒展开近似 求导近似 积分近似 几种欧拉方式 向前欧拉公式 向后欧拉公式 梯形公式 中点公式 截断误差 求解过程 向前欧拉公式 例子 向前欧拉公式 在惯性导航以及VIO ...
- [常微分方程的数值解法系列四] 中值法
中值法 简介 具体步骤 截断误差 例子 在惯性导航以及VIO等实际问题中利用IMU求解位姿需要对IMU测量值进行积分得到需要的位置和姿态,其中主要就是求解微分方程.但之前求解微分方程的解析方法主要是应 ...
- 二阶龙格库塔公式推导_[常微分方程的数值解法系列五] 龙格-库塔(RK4)法
在惯性导航以及VIO等实际问题中利用IMU求解位姿需要对IMU测量值进行积分得到需要的位置和姿态,其中主要就是求解微分方程.但之前求解微分方程的解析方法主要是应用于一些简单和特殊的微分方程求解中,对于 ...
最新文章
- python3官方文档 中文-Python 3.7 官方文档中文翻译召集
- 重载 重写 多态区别
- PHP7 学习笔记(十二)gRPC
- Lucene的几种分词系统
- 台式计算机显示器的分辨率,台式电脑分辨率多少合适,测试电脑分辨率
- css3揭秘读书笔记--边框内圆角
- vue v-modle修饰符.number .trim
- 下拉框触发单击事件_谈谈如何给下拉框option添加点击事件?
- Contiki-NG在GD32F310的移植
- 做Java开发如何月薪达到两万,需要什么技术水平
- 如何破解软件狗,dongle
- 华为P30震撼来袭!刘海屏+麒麟980+3650mAh,网友直呼:年度机皇呀
- 大数据时代——从谢顿计划说开去
- 计算机毕业设计-基于SSM的网约车出行APP-JavaWeb网约车出行APP
- 挖Linux中的古老缩略语
- 人体微生物组和幼儿成长---前1000天及以后
- 【GO+Iris】Iris框架初识
- 为什么量子力学和相对论有矛盾?超弦理论或将统一物理学
- ffmpeg编译及使用
- 计算机领域专业SCI期刊、EI期刊、SCI检索期刊、EI检索期刊
热门文章
- Mac 配置多个ssh-key
- 8-@Pointcut( execution(* com.ctgu.controller.AccountController.transfer(..)) ) 拦截配置问题
- Python 自动化测试 必会模块 Unittest
- HHUOJ 1895 果冻豆
- Elasticsearch干货(九):queryString中检索词加不加引号?
- 花生棒虚拟服务器,花生棒 开服务器
- 用户行为分析(Python)
- 【论文笔记--FORCE】Progressive Skeletonization: Trimming more fat from a networkat initialization
- MATLAB中findpeaks函数使用
- 悲催:一个80后程序员的爱情故事【视频】-但愿我不是那个陈旭阳!55...