“常数变易法”有效的原理

“常数变易法”有效的原理常数变易法 有效的原理常数变易法为什么写这篇文章什么是常数变易法 错误的理解常数变易法的原理基本计算总结参考资料常数变易法为什么写这篇文章学过 常数变易法 的同学请直接点击 常数变易法的原理 这里只讲述常数变易法的原理 为什么要用常数变易法请参见参考资料 常数变易法的解释 在学习高数的过程中 关于为什么在解一阶线性微分方程的时候要使用常数变易法 为什么可以使用常数变易法 常数变易

常数变易法

为什么写这篇文章

在学习高数的过程中,关于为什么在解一阶线性微分方程的时候要使用常数变易法,为什么可以使用常数变易法,常数变易法为什么是有效并且正确的,老师都语焉不详,一笔带过,导致一直不能很好地理解其中的数学思想。自己也只能接受老师的解释,将这个方法强行合理化。

但是最近再次看到一阶线性微分方程的求解,看到直接给出来的求解公式一头雾水,再去翻书,始终还是感觉隔靴搔痒,雾里看花,始终不自在,所以上网搜索了一下,搜到了一篇相关文章(常数变易法的解释),终于明白了其中蕴含的深刻而巧妙的数学思想,喜不自禁。

所以在此记录下个人的理解,一则梳理自己的思路,二则可供感兴趣的同学参考,倘能有助于大家理解常数变易法的“自然”性,亦是幸甚。

什么是常数变易法?

有以下一阶线性微分方程: (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=CeP(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)eP(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)eP(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=eP(x)dx(Q(x)eP(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)=C1eP(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)C1eP(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)C1eP(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)=C11Q(x)eP(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)=eP(x)dx(Q(x)eP(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)=eP(x)dx(Q(x)eP(x)dxdx+C)

推广

这一部分是在知乎看到了关于“常数变易法”在高阶作用的问题之后增补的

总结

很显然我们可以看到,常数变易法是蕴含了很深刻的数学思想、具有很强健的数学基础的解题方法,并非无根之萍,更不是突发奇想或是强行合理。
但是从其原理上来讲,将其称呼为“常数变易法”是不太妥当的,本质上它并非是单纯地使用一个函数来替代了齐次方程通解的常数。
常数变易法的称呼应该说为了便于日常应用和直观记忆,这里可以不必纠结。

参考资料

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/199957.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月20日 上午11:50
下一篇 2026年3月20日 上午11:50


相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号