一道常微分方程题目的一题多解

2024-01-17 15:37李晓彤
科技风 2024年2期

摘 要:常微分方程是数学分析、高等代数的后继课程,对培养学生学习和研究能力具有重要作用。对常微分方程的题目进行一题多解的讲授,可使學生从多个角度体会解题方法、解题技巧,提高学生的发散思维,从而加深学生对常微分方程基本理论、基本方法的理解,提高教学效果。 本文利用积分因子法、伯努利方程、常数变易法、变量替换法、Matlab法求解一道一阶常微分方程的题目。

关键词:积分因子;伯努利方程;常数变易;变量替换;Matlab

1 概述

微分方程的发展与微积分的发展是交织在一起的,17世纪,牛顿对特殊的一阶微分方程用无穷级数求解;莱布尼兹发现了变量分离方程,给出了一阶线性微分方程的求解方法;伯努利将力学中的问题转化为微分方程问题并进行求解。18世纪,欧拉给出了一阶微分方程恰当积分的条件,发展了积分因子理论。这段时期是微分方程“求通解”的时代,即将常微分方程的求解问题转化为积分问题,希望用初等函数或超越函数表示其解。[1]直到刘维尔证明里卡蒂(Riccati)方程不存在一般的初等解法,数学家们意识到并不是任何一阶微分方程都可以用初等解法求解。尽管初等解法可解的方程类型有限,但在处理实际微分方程问题时这些方法非常有效。[14]

学生在学习一阶微分方程的初等解法时,要熟悉各种类型方程的解法,准确快速地判断出给定方程的类型,并用相应的方法求通解,这是最基本的要求。但仅仅做到这种程度还不够,实际练习过程中,我们可能会遇到不是直接能观察出方程类型的题目,这就要求教师在教学过程中,要注意引导学生从不同的角度出发,根据方程具体特点,通过引入适当的变量替换,或者转换自变量和因变量的地位,将已有的微分方程转化为易于求解的类型,进而提高学生分析问题、解决问题的能力,拓展思路,培养学生的发散思维和探索精神。所以在教学过程中,教师可以通过一阶微分方程的初等解法的题目来培养学生发散思维。

文献[57]使用多种方法解决一阶常微分方程的求解问题,受文献[57]启发,本文以文献[2]中习题2.5的第1题第7小题为例,利用微分方程理论,给出7种不同的解法,进而锻炼学生一题多解的能力,培养学生的发散思维。

2 解法研究

例:求微分方程y3dx+2(x2-xy2)dy=0 (1)的通解。

2.1 解法一

把x和y平等看待,判断出(1)不是恰当方程。参考文献[8]中求非恰当方程积分因子的方法,假设(1)有形如μ(x,y)=xαyβ的积分因子,利用比较系数法求出α和β,再用凑微分法求通解。

M(x,y)=y3,N(x,y)=2(x2-xy2),则My=3y2,Nx=4x-2y2,由于My≠Nx,且My-Nx-M=5y2-4x-y3,My-NxN=5y2-4x2(x2-xy2),因此方程(1)不是恰当方程,且(1)式的积分因子既与x有关,又与y有关,又观察到M(x,y)和N(x,y)都是关于x和y的多项式,不妨假设(1)式有积分因子μ(x,y)=xαyβ,则xαy3+βdx+2(x2+αyβ-x1+αy2+β)dy=0是恰当方程,因此(xαy3+β)y=(2x2+αyβ-2x1+αy2+β)x,即(3+β)xαy2+β=2(2+α)x1+αyβ-2(1+α)xαy2+β,比较系数可得2+α=0

5+β+2α=0,可以得到α=-2

β=-1,因此,方程(1)的一个积分因子为μ(x,y)=1x2y。

方程(1)两端同乘以1x2y,得到y2x2dx-2yxdy+2ydy=0 (2),该方程是恰当方程。

对于恰当方程,我们可以直接凑微分得d(-y2x)+d(lny2)=0,因此通解为lny2-y2x=c,c为任意常数。

注1:对于一些方程,如果设积分因子形式为μ(x,y)=xαyβ,但是按照恰当方程的充要条件却算不出α和β的值,这就说明方程没有形如μ(x,y)=xαyβ的积分因子。

进一步地,我们可以给出方程M(x,y)dx+N(x,y)dy=0有形如μ(x,y)=xαyβ积分因子的充要条件。

定理:假设M(x,y)和N(x,y)为关于x和y的多项式,方程M(x,y)dx+N(x,y)dy=0有形如μ(x,y)=xαyβ积分因子

My-NxαNx-βMy=1。

证明:由恰当方程判定的充要条件知,方程M(x,y)dx+N(x,y)dy=0有形如μ(x,y)=xαyβ积分因子。

y(xαyβM)=x(xαyβN)

βxαyβ-1M+xαyβMy=αxα-1yβN+xαyβNx

xαyβ(My-Nx)=αxα-1yβN-βxαyβ-1M

xy(My-Nx)=αyN-βxM

xy(My-Nx)αyN-βxM=1

My-NxαNx-βMy=1

2.2 解法二

先分组求积分因子,再利用恰当方程的判定或直接利用公式求通解。引理[2]若μ=μ(x,y)是方程M(x,y)dx+N(x,y)dy=0的一个积分因子,使得μM(x,y)dx+μN(x,y)dy=du(x,y),则μg(u(x,y))也是方程M(x,y)dx+N(x,y)dy=0的一个积分因子,其中g(·)是任意的可微函数。

将方程(1)进行分组y3dx-2xy2dy第一组+2x2dy第二组=0,由观察知,第一组有积分因子μ1(x,y)=1xy3,第二组有积分因子μ2(x,y)=1x2,因此1xdx-2ydy=d(lnxy2),2dy=d(2y),即第一组和第二组对应的原函数分别为u1(x,y)=ln(xy2),u2(x,y)=2y,由定理知,μ1g1(u1)是第一组的积分因子,μ2g2(u2)是第二组的积分因子,其中g1,g2是任意的可微函数。如果选取g1(t)=e-t,g2(t)=2t,则μ1g1(u1)=μ2g2(u2)=1x2y:=μ,所以μ=1x2y是方程(1)的一个积分因子。

利用恰当方程的判定求解。

求u(x,y)使其满足ux=y2x2 (3),uy=2y-2yx (4),将(3)对x进行积分,得到u(x,y)=-y2x+φ(y) (5),将(5)对y求导,并由(4)得到uy=-2yx+φ′(y)=2y-2yx,因此dφ(y)dy=2y,解得φ(y)=lny2。

因此,方程(1)的通解为lny2-y2x=c,c为任意常数。

也可直接利用公式求通解,

∫M(x,y)dx+∫N(x,y)-y∫M(x,y)dxdy

=∫y2x2dx+∫2y-2yx-y∫y2x2dxdy

=-y2x+lny2=c

其中c为任意常数。

2.3 解法三

化为伯努利方程求解,将方程(1)化成dydx=y32(xy2-x2)的形式,发现该微分方程的求解比较困难,但是若把y当作自变量,x当作未知函数,方程可化为n=2的伯努利方程。

dxdy=2yx-2x2y3(n=2),令z=x-1,则:dzdy=-1x2dxdy=-2yz+2y3 (6)

方程(6)是以y为自变量,z为因变量的一阶线性微分方程,可以用常数变易法求其通解。

首先求(6)对应齐次方程dzdy=-2y的通解z=ce∫-2ydy=cy2,然后利用常数变易法求(6)的通解,设(6)的通解为z=c(y)y2,那么dzdy=dc(y)dy·1y2-2y3,代入(6)得到dc(y)dy=2y,解得c(y)=lny2+c-,则原方程的通解为1x=lny2+c-y2,c-为任意常数,化简后与解法一、二的结果一致。

事实上,伯努利微分方程dydx=p(x)y+q(x)yn(n≠0,1)的通解公式为y1-n=e(1-n)∫p(x)dx((1-n)∫q(x)e-(1-n)∫p(x)dx+c),本题中把y当作自变量,x当作未知函数,因此,p(y)=2y,q(y)=-2y3,直接利用公式求解:

x-1=e-∫2ydy(-∫-2y3e∫2ydydy+c)

=1y2(∫2ydy+c)

=lny2+cy2

其中c为任意常数。

2.4 解法四

对方程dxdy=2yx-2x2y3两边同时除以x2,得到1x2dxdy=2y1x-2y3,先把dx进行凑微分,得到-d(1x)dy=2y1x-2y3,此时令z=1x,上述方程化为dzdy=-2yz+2y3。

直接代入一阶线性微分方程通解公式。

z=e∫p(y)dy(∫q(y)e∫-p(y)dydy+c)

=e∫-2ydy(∫2y3e∫2ydy+c)

=lny2+cy2

其中c为任意常数,与前三种解法结果一致。

2.5 解法五

将原方程改写为dxdy=(2y-2xy3)x,可利用常数变易法求解。

首先求dxdy=2yx的通解,其通解为x=ce∫2ydy=cy2。

其次用常数变易法求原微分方程的通解,设x=c(y)y2,则dxdy=c′(y)·y2+c(y)·2y=(2y-2c(y)y2y3)c(y)y2,整理化简得到-dc(y)c2(y)=2ydy,通解为1c(y)=lny2+c-,因此原方程通解为x=y2lny2+c-,c-为任意常數,化简后与解法一、二、三、四的结果一致。

2.6 解法六

将方程(1)转化为dxdy=2yx-2x2y3后,可做变量替换z=xy,得到dxdy=z+ydzdy=2z-2z21y,y≠0时,上式化简为dzdy=zy-2z2y2,该方程经变量替换u=zy后为变量分离方程。

因此,可直接做变量替换u=xy2,则x=uy2,dxdy=y2dudy+2uy=2uy-2u2y,因此dudy=-2u2y,这是变量分离方程,通解为1u=lny2+c,因此原方程的通解lny2-y2x=c,c为任意常数。

2.7 解法七 Matlab法

Matlab具有数值计算和符号计算等功能,下面利用Matlab软件中的dsolve函数[9]求方程dxdy=(2y-2xy3)x的符号解。

输入命令

dsolve('Dx=2*x*(y^2-x)/y^3','y')

输出

ans=

y^2/(C1+2*log(y))b

0

通解化简后与前六种方法一致。

3 解法小结

解法一、解法二分别使用了待定系数法和分组组合法求出了方程(1)的积分因子,然后用凑微分法、恰当方程的判定法、公式法对得到的恰当方程求通解。这两种方法是求解一阶微分方程的基本解法,可以求解一大类一阶微分方程的题目,应该要求学生熟练掌握。解法三将方程进行化简,得到易求通解的伯努利方程,引入变量替换后将伯努利方程转化为一阶线性微分方程。解法四在解法三的得到伯努利方程的基础上,直接进行凑微分换元,一阶线性微分方程。解法五直接将化简后的方程利用常数变易法求解。解法三、四、五反映了学生对一阶线性微分方程解的结构的理解,应该要求学生熟练掌握。解法六引入新的变量替换,将方程转化为更易求解的变量分离方程,这种解法比较灵活,学生需要多观察、多练习,积累经验。解法七给出了一种Matlab解法。一题多解的案例激发了学生的学习兴趣,培养了学生的发散思维。

参考文献:

[1]王高雄,周之铭.常微分方程[M].北京:高等教育出版社,2020.

[2]袁荣.常微分方程[M].北京:高等教育出版社,2012.

[3]丁同仁.常微分方程[M].北京:高等教育出版社,2010.

[4][美]克莱因(M.Kline).古今数学思想[M].张理京,张锦炎,译.上海科学技术出版社,1979.

[5]史周晰,赵临龙.一类常微分方程的解法研究与推广[J].科技风,2023(4):98100.

[6]林均,罗日才.一道常微分方程题的几种解法[J].高等数学研究,2021,24(03):5456.

[7]朱华,杨广宇.基于微分方程的教学案例研究[J].高等数学研究,2023,26(03):9597.

[8]赵莉莉.积分因子与积分因子法[J].高等數学研究,2023,26(03):1922+25.

[9]邓丽莹,梁倩倩,罗媚,等.MATLAB在求解常微分方程积分因子中的应用[J].科技风,2019(10):3536.

作者简介:李晓彤(1996— ),女,汉族,山东德州人,硕士研究生,助教,从事图论研究。