常数变易法
为什么写这篇文章
在学习高数的过程中,关于为什么在解一阶线性微分方程的时候要使用常数变易法,为什么可以使用常数变易法,常数变易法为什么是有效并且正确的,老师都语焉不详,一笔带过,导致一直不能很好地理解其中的数学思想。自己也只能接受老师的解释,将这个方法强行合理化。
但是最近再次看到一阶线性微分方程的求解,看到直接给出来的求解公式一头雾水,再去翻书,始终还是感觉隔靴搔痒,雾里看花,始终不自在,所以上网搜索了一下,搜到了一篇相关文章(常数变易法的解释),终于明白了其中蕴含的深刻而巧妙的数学思想,喜不自禁。
所以在此记录下个人的理解,一则梳理自己的思路,二则可供感兴趣的同学参考,倘能有助于大家理解常数变易法的“自然”性,亦是幸甚。
什么是常数变易法?
有以下一阶线性微分方程: (1) y ′ + P ( x ) y = Q ( x ) y’ +P(x)y=Q(x) \tag1 y′+P(x)y=Q(x)(1)其中, P ( x ) ̸ ≡ 0 P(x)\not \equiv 0 P(x)̸≡0 且 Q ( x ) ̸ ≡ 0 Q(x)\not \equiv 0 Q(x)̸≡0。
若解其对应的齐次方程: (2) y ′ + P ( x ) y = 0 y’ +P(x)y=0\tag2 y′+P(x)y=0(2)则易有: y = C e − ∫ P ( x ) d x ( C ≠ 0 ) y=Ce^{-\int P(x)dx}(C\neq 0) y=Ce−∫P(x)dx(C̸=0)即为齐次方程的通解。
这时,我们可以用常数变易法来求非齐次方程 ( 1 ) (1) (1)的通解,即将齐次方程 ( 2 ) (2) (2)的通解中的常数 C C C换成(变易为)一个关于 x x x的未知函数 u ( x ) u(x) u(x),变易之后,非齐次方程通解表示如下: (3) y = u ( x ) ⋅ e − ∫ P ( x ) d x ( u ( x ) ̸ ≡ 0 ) y=u(x)\cdot e^{-\int P(x)dx} \Big(u(x)\not\equiv 0\Big)\tag3 y=u(x)⋅e−∫P(x)dx(u(x)̸≡0)(3)于是将该通解形式代入原方程 ( 1 ) (1) (1),可以解得: u ( x ) = ∫ Q ( x ) e ∫ P ( x ) d x d x + C u(x)=\int Q(x)e^{\int P(x)dx}dx+C u(x)=∫Q(x)e∫P(x)dxdx+C将上式代入 ( 3 ) (3) (3)式,即可解得: y = e − ∫ P ( x ) d x ⋅ ( ∫ Q ( x ) e ∫ P ( x ) d x d x + C ) y=e^{-\int P(x)dx}\cdot (\int Q(x)e^{\int P(x)dx}dx+C) y=e−∫P(x)dx⋅(∫Q(x)e∫P(x)dxdx+C)这就是所谓常数变易法。
可以看到,这里把常数 C C C 直接代换为了函数 u ( x ) u(x) u(x) ,显得十分生硬不自然,没有什么说服力。然而书上很少会对这个方法的由来作出介绍,所以想必会使很多人感到困惑。
错误的理解
常数变易法的原理
基本
容易理解,我们可以把任意函数表示成为两个函数之积,即 (4) y ( x ) = u ( x ) ⋅ v ( x ) y(x)=u(x)\cdot v(x)\tag4 y(x)=u(x)⋅v(x)(4)对 y ( x ) y(x) y(x) 求导,得: y ′ ( x ) = u ′ ( x ) v ( x ) + u ( x ) v ′ ( x ) y'(x)=u'(x)v(x)+u(x)v'(x) y′(x)=u′(x)v(x)+u(x)v′(x)
计算
将 y ( x ) = u ( x ) ⋅ v ( x ) y(x)=u(x)\cdot v(x) y(x)=u(x)⋅v(x), y ′ ( x ) = u ′ ( x ) v ( x ) + u ( x ) v ′ ( x ) y'(x)=u'(x)v(x)+u(x)v'(x) y′(x)=u′(x)v(x)+u(x)v′(x) 代入非齐次方程 ( 1 ) (1) (1),整理得到: (5) u ′ ( x ) v ( x ) + u ( x ) ⋅ [ v ′ ( x ) + P ( x ) v ( x ) ] = Q ( x ) u'(x)v(x)+u(x)\cdot [v'(x)+P(x)v(x)]=Q(x)\tag5 u′(x)v(x)+u(x)⋅[v′(x)+P(x)v(x)]=Q(x)(5)由解一阶线性微分方程的常用方法分离变量法容易想到,如果没有 u ( x ) ⋅ [ v ′ ( x ) + P ( x ) v ( x ) ] u(x)\cdot [v'(x)+P(x)v(x)] u(x)⋅[v′(x)+P(x)v(x)] 这一项,我们就可以简便地利用分离变量法进行计算。
现在单独考察 u ( x ) ⋅ [ v ′ ( x ) + P ( x ) v ( x ) ] u(x)\cdot [v'(x)+P(x)v(x)] u(x)⋅[v′(x)+P(x)v(x)] 这一项。其中 u ( x ) u(x) u(x) 不确定,不能用来保持 u ( x ) ⋅ [ v ′ ( x ) + P ( x ) v ( x ) ] ̸ ≡ 0 u(x)\cdot [v'(x)+P(x)v(x)]\not\equiv0 u(x)⋅[v′(x)+P(x)v(x)]̸≡0 ,所以考虑另一个因式 v ′ ( x ) + P ( x ) v ( x ) v'(x)+P(x)v(x) v′(x)+P(x)v(x) 。显然 v ( x ) v(x) v(x) 是不确定的,在 u ( x ) u(x) u(x) 不确定的情况下,可以任意取值。则假设 v ( x ) v(x) v(x) 满足 (6) v ′ ( x ) + P ( x ) v ( x ) ≡ 0 v'(x)+P(x)v(x)\equiv0\tag6 v′(x)+P(x)v(x)≡0(6) 观察式 ( 6 ) (6) (6) ,可以看到其形式与式 ( 2 ) (2) (2) 基本一致。
求解式 ( 6 ) (6) (6),可以得其通解形式: (7) v ( x ) = C 1 ⋅ e − ∫ P ( x ) d x v(x)=C_1\cdot e^{-\int P(x)dx}\tag7 v(x)=C1⋅e−∫P(x)dx(7)将所得通解代入 ( 4 ) (4) (4),则 (8) y ( x ) = u ( x ) ⋅ C 1 ⋅ e − ∫ P ( x ) d x y(x)=u(x)\cdot C_1\cdot e^{-\int P(x)dx}\tag8 y(x)=u(x)⋅C1⋅e−∫P(x)dx(8)将 ( 8 ) (8) (8) 式代入 ( 5 ) (5) (5) 式,得到: u ′ ( x ) ⋅ C 1 ⋅ e − ∫ P ( x ) d x = Q ( x ) u'(x)\cdot C_1\cdot e^{-\int P(x)dx}=Q(x) u′(x)⋅C1⋅e−∫P(x)dx=Q(x)使用分离变量法,容易解得: (9) u ( x ) = 1 C 1 ∫ Q ( x ) ⋅ e ∫ P ( x ) d x d x + C 2 u(x)=\frac1{C_1}\int Q(x)\cdot e^{\int P(x)dx}dx+C_2\tag9 u(x)=C11∫Q(x)⋅e∫P(x)dxdx+C2(9)将 ( 7 ) (7) (7) ( 9 ) (9) (9) 同时代入式 ( 4 ) (4) (4) ,则 y ( x ) = e − ∫ P ( x ) d x ( ∫ Q ( x ) e ∫ P ( x ) d x d x + C 1 C 2 ) y(x)=e^{-\int P(x)dx}(\int Q(x)e^{\int P(x)dx}dx+C_1C_2) y(x)=e−∫P(x)dx(∫Q(x)e∫P(x)dxdx+C1C2)令 C = C 1 C 2 C=C_1C_2 C=C1C2,则得原一阶线性微分方程的通解为: y ( x ) = e − ∫ P ( x ) d x ( ∫ Q ( x ) e ∫ P ( x ) d x d x + C ) y(x)=e^{-\int P(x)dx}(\int Q(x)e^{\int P(x)dx}dx+C) y(x)=e−∫P(x)dx(∫Q(x)e∫P(x)dxdx+C)
推广
这一部分是在知乎看到了关于“常数变易法”在高阶作用的问题之后增补的
总结
很显然我们可以看到,常数变易法是蕴含了很深刻的数学思想、具有很强健的数学基础的解题方法,并非无根之萍,更不是突发奇想或是强行合理。
但是从其原理上来讲,将其称呼为“常数变易法”是不太妥当的,本质上它并非是单纯地使用一个函数来替代了齐次方程通解的常数。
常数变易法的称呼应该说为了便于日常应用和直观记忆,这里可以不必纠结。
参考资料
发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/199957.html原文链接:https://javaforall.net
