微积分学/常微分方程

来自testwiki
imported>Drawing yang2020年2月14日 (五) 03:31的版本
(差异) ←上一版本 | 最后版本 (差异) | 下一版本→ (差异)
跳转到导航 跳转到搜索

常微分方程是未知函数只含有一个自变量的微分方程。

其实,在之前的学习过程中,你已经研究过一些非常简单的微分方程的解。比如说

f(x)dx=g(x)

其中g(x)为函数,你实际上是在解微分方程

g(x)=f(x)

符号和术语

使用恰当的符号可以让我们解微分方程更容易。

本文将主要使用以下四个符号来表示f的导数:

  • Dy
  • f
  • df
  • dfdx(用于可分离变量方程)

术语

考虑如下微分方程

3f(x)+5xf(x)=11

方程中导数最高为2阶,因此我们说该方程为二阶微分方程

一些简单的微分方程

求解微分方程的一个关键思想是积分。

我们来考虑下面这个二阶微分方程

f(x)=2

我们怎么解决这个问题呢?方程告诉我们,求两次导以后,得到常数2,所以,如果我们积分两次,应该就能算出答案。

积分一次:

f(x)dx=2dx
f(x)=2x+C1

我们已经把困难的二阶微分方程转化成了一个简单点的方程,即

f(x)=2x+C1

这个等式告诉我们,把函数求一次导,可以得到2x+C1。我们再积分一次,就能算出答案了。

f(x)dx=2x+C1dx
f(x)=x2+C1x+C2

这就是微分方程的。对任意C1C2,都有f=2

C1C2初始条件的值有关。如果待解方程给定了初始条件,我们可以在积分之后替换进去。

例题

求解 f(x)=2,初始条件为f(0)=3f(0)=2

解答过程会比上面多这么几步:

f(0)=2(0)+C1
3=C1
f(x)dx=2x+3dx
f(x)=x2+3x+C2
f(0)=02+3(0)+C2
2=C2
f(x)=x2+3x+2

如果没有初始条件,我们算出的答案就叫通解;如果有初始条件,就叫特解

基本一阶微分方程

在本节中,我们将研究四种微分方程:

  • 可分离变量方程
  • 齐次方程
  • 线性方程
  • 全微分方程

此外,还有许多其他形式的微分方程,将在下一节中讨论。

可分离变量方程

可分离变量方程基本形式为(这里使用dydx更方便)

dydx=f(x)g(y)

之前我们只处理过g(y)=1的微分方程。上面那个可分离变量方程怎么解决呢?

我们把变量xdxydy放到一起

g(y) dy=f(x) dx

两边分别对yx积分

g(y)dy=f(x)dx+C

便能得到解答。

例题

求解

dydx=3x2y

分离变量

dyy=(3x2)dx

两边积分

dyy=3x2dx
lny=x3+C
y=ex3+C

k=eC,其中k为常数,得到

y=kex3

这便是上述方程的通解。

验算

这一步不是必要的,但是可以用来验证答案的正确性。

我们算出来的答案是

y=kex3

题目是

dydx=3x2y

把答案对x微分,得

dydx=3kx2ex3

由于y=kex3,所以

dydx=3x2y

我们得到了题给的微分方程,因此我们的答案是正确的。

齐次方程

齐次方程形式为

dydx=f(yx)

这看起来很困难,但我们可以令v=yx,得到

dydx=f(v)

现在只需处理f(v)而非f(yx)了。

再用v来表示y,即y=vx

dydx=dvxdx=v+xdvdx

于是

v+xdvdx=f(v)
xdvdx=f(v)v
dvdx=f(v)vx

就变成了可分离变量方程。

例题

求解

dydx=y2+x2yx

我们把式子写成这样

dydx=y2yx+x2yx
dydx=xy+yx

v=yx,得到

dydx=1v+v

再用v来表示y

v+xdvdx=1v+v

两边消去v,化简

xdvdx=1v

分离变量

vdv=dxx

两边积分

12v2+C=ln(x)
12(yx)2=ln(x)C
y2=2x2ln(x)2Cx2
y=x2ln(x)2C

这便是上述方程的通解。

线性方程

一阶线性微分方程形式为

a(x)dydx+b(x)y=c(x)

注意到方程两边同时乘或除x的任意非零函数,都不会对解产生影响。

乍一看,等式左边不能直接积分。但是,有一个特殊情况。如果ba的导数,我们就可以这么办

a(x)dydx+b(x)y=a(x)dydx+ydadx=ddxa(x)y

现在,积分就很简单了。

我们把原方程两边同时乘以任意一个函数I(x),得到

aIdydx+bIy=cI

我们假设如下条件:

ddxaI=bI

如果这个条件满足,就可以用上面说的那种办法了。

这个条件其实等价于

1IdIdx=bdadxa

积分,得

lnI(x)=b(z)a(z)dzlna(x)+c
I(x)=ka(x)eb(z)a(z)dz

把常数k设为1,不会对结果产生影响。

代入原方程,得

eb(z)a(z)dzdydx+eb(z)a(z)dzb(x)a(x)y=eb(z)a(z)dzc(x)a(x)

化简,得

ddx(yeb(z)a(z)dz)=eb(z)a(z)dzc(x)a(x)

两边积分并除以eI

y=eb(z)a(z)dz(eb(z)a(z)dzc(x)a(x)dx+C)

我们称I积分因子。类似的方法也可用于其他一些微积分问题。

例题

求解

dydx+ytanx=1,初始条件为y(0)=0

首先算出积分因子I

I=etanxdx=elnsecx=secx

方程两边同时乘I,得

secxdydx+ysecxtanx=secx

ddxysecx=secx

积分,得

y=cosx0xseczdz=cosxln(secx+tanx)

全微分方程

全微分方程形式为

f(x,y)dx+g(x,y)dy=0

且有性质

Dxf=Dyg(即fx的导数等于gy的导数)

(如果微分方程没有这个性质,那么我们就不能再继续解下去了。)

因此,如果我们有一个全微分方程,那么就存在一个函数h(x,y)使得

Dyh=f,且Dxh=g

于是解的形式为

h(x,y)=c

便可通过积分找到h(x,y)

基本二阶和高阶常微分方程

n阶常微分方程的通解会含有n个积分常量。要把它们都计算出来,我们还需要n个方程。大多数情况下,题目会给定

边缘条件,即x取两个不同的值时y及其导数的值

或者

初始条件,即x取某一值时y及其前n1阶导数的值。

可降阶常微分方程

一、如果自变量x不出现在微分方程中,那么我们便可以把二阶微分方程降为一阶微分方程。

考虑方程

F(y,dydx,d2ydx2)=0

u=dydx

d2ydx2=dudx=dudydydx=dudyu

将这两个表达式代入原方程,我们得到

F(y,u,dudyu)=0

这便是一个一阶微分方程。

例题

求解

1+2y2d2ydx2=0

其中当x=0时,y=y=1

首先,我们进行代换,得到

1+2y2ududy=0

这是一个一阶常微分方程。整理并分离变量,得

udu=dy2y2

两边积分,得

u22=c+y2

我们知道了当x=0yu的值,所以我们可以求出c

c=u22y2=122121=1212=0

接下来

dydx2=u2=1y

然后开平方根

dydx=±1y

要找到根号外面是取正号还是取负号,我们可以再用一遍初始条件,便可以把符号排除,得到

dydx=1y

其解为

23y32=x+d

因为当x=0y=1,所以d=23,于是

y=(1+3x2)23

二、如果因变量y不出现在微分方程中,那么我们也可以把二阶微分方程降为一阶微分方程。

考虑方程

F(x,dydx,d2ydx2)=0

u=dydx

d2ydx2=dudx

将这两个表达式代入原方程,我们得到

F(x,u,dudx)=0

这便是一个一阶微分方程。

线性常微分方程

称形如

dnydxn+a1(x)dn1ydxn1+...+any=F(x)

的常微分方程为线性。这类方程比典型的非线性常微分方程更容易解决。初等函数只能解决少数特殊情况,但一般的线性常微分方程的解法超出本书讨论范围。

若对任意xF(x)=0,则称该常微分方程齐次

一般的线性方程有这么两个有用的性质:

  1. 一个齐次线性方程的解的任意线性组合都是该方程的解;
  2. 如果已知一个非齐次线性方程的解,我们给它加上对应的齐次线性方程的任意一个解,就会得到该非齐次线性方程的另一个解。

常数变易法

假设我们有一个线性常微分方程

dnydxn+a1(x)dn1ydxn1+...+an(x)y=0

并且我们知道它的一个解为y=w(x)

由性质可知y=wz总是原方程的一个解,因此方程便变为zn阶线性方程。

我们知道z为常数是方程的一个解,因此z的这个常微分方程一定不含有z项,所以它实际上是一个n1阶线性常微分方程,这样便使方程降了一阶。

例题

求解

d2ydx2+2xdydx6x2y=0

方程的一个解为y=x2,因此我们把y=zx2代入方程,得到

(x2d2zdx2+4xdzdx+2z)+2x(x2dzdx+2xz)6x2x2z=0

化简,得

x2d2zdx2+6xdzdx=0

这是一个dzdx的一阶方程,解得

z=Cx5y=Cx3

由于方程是线性的,两个解的线性组合便是通解,即

y=C1x3+C2x2

常系数线性齐次常微分方程

假设我们有一个常微分方程

(Dn+a1Dn1+...+an1D+a0)y=0

我们猜测有一个解为

y=epx

这个函数Dny=pny,因此方程变为

(pn+a1pn1+...+an1p+a0)y=0

y=0显然是一个解,不考虑。我们只需研究

pn+a1pn1+...+an1p+a0=0

这是原方程的特征方程

这个方程可以有多达n个解p1,p2,...,pn,每一个p都对应着原方程的一个解。

由于方程是线性的,n个解的线性组合便是通解,即

y=C1ep1x+C2ep2x+...+Cnepnx
二阶

如果常微分方程是二阶

D2y+bDy+cy=0

那么特征方程就是二次方程

p2+bp+c=0

其根为

p±=b±b24c2

b24c的符号不同,我们有以下三种情况:

一、b24c>0

此时方程有两个不同实根,我们可直接写出解

y=C1ep++C2ep

二、b24c<0

此时方程有两个虚根。我们可以像上面那样直接把它们写到表达式中,但其实还有另一种更好的形式。

k2=4cb2,则解为

y=C+eikxbx2+Ceikxbx2

这个表达式如果是实数,两个C必定共轭,即

C±=Ce±ia

代入,得

y=Cebx2cos(kx+c)

三、b24c=0

此时方程有两个相等的实根p=b2。我们得使用另一种方法来找到另一个不同的解。

为此,我们使用常数变易法。用p表示bc,待解方程变为

D2y2pDy+p2y=0

从这个特征方程我们可以知道方程的一个解是y=epx,因此我们令y=zepx,得到

(epxD2z+2pepxDz+p2epxz)2p(epxDz+pepxz)+p2epxz=0

所以D2z=0,于是

z=C1x+C2y=(C1x+C2)epx

所以这第二个解就是第一个解乘x

高阶方程的处理方法也是这样的。比如说,如果特征方程是这样的:

(p1)4(p3)(p2+1)2=0

那么对应的常微分方程的通解就是

y=(C1+C2x+C3x2+C4x3)ex+C5e3x+C6cos(x+c1)+C7xcos(x+c2)

过程中最困难的部分就是找到特征方程的解。