看完不会?让 AI 一步步解给你看
Calculus · real student question

解微分方程 y² + a y' = b,其中 a 和 b 都是常数。

Question

解方程

y2+adydx=by^{2}+a\frac{dy}{dx}=b

其中 a≠0a\neq0 与 bb 都是常数。

Step-by-step solution

  1. 先把导数孤立出来,并检查可分离性。 整理得

    adydx=b−y2⟹dydx=b−y2aa\frac{dy}{dx}=b-y^{2}\qquad\Longrightarrow\qquad\frac{dy}{dx}=\frac{b-y^{2}}{a}

    右端只依赖 yy,所以方程是可分离的——而且它还是自治的,也就是 xx 从不显式出现。它对 yy 不是线性的(y2y^{2} 把这条路堵住了),所以积分因子不是这里该用的工具。

  2. 分离变量。 两边除以 b−y2b-y^{2},再乘上 dxdx:

    dyb−y2=dxa\frac{dy}{b-y^{2}}=\frac{dx}{a}

    这一步假定了 y2≠by^{2}\neq b。被排除掉的值恰好就是平衡解 y=±by=\pm\sqrt{b}(在 b>0b>0 时):那里 dy/dx=0dy/dx=0,yy 永远保持常数——它们是真正的解,不留意就会被分离变量这一步丢掉。

  3. 左边用部分分式积分(b>0b>0 的情形)。 记 k=bk=\sqrt{b},

    1k2−y2=12k(1k−y+1k+y)⟹∫dyk2−y2=12kln⁡∣k+yk−y∣\frac{1}{k^{2}-y^{2}}=\frac{1}{2k}\left(\frac{1}{k-y}+\frac{1}{k+y}\right)\Longrightarrow\int\frac{dy}{k^{2}-y^{2}}=\frac{1}{2k}\ln\left|\frac{k+y}{k-y}\right|

    于是,配上右边积出的 x/a+Cx/a+C:

    12bln⁡∣b+yb−y∣=xa+C\frac{1}{2\sqrt{b}}\ln\left|\frac{\sqrt{b}+y}{\sqrt{b}-y}\right|=\frac{x}{a}+C

  4. 把 yy 显式解出来。 两边乘以 2b2\sqrt{b} 再取指数,得到 b+yb−y=Ae2bx/a\dfrac{\sqrt{b}+y}{\sqrt{b}-y}=Ae^{2\sqrt{b}x/a},再把这个一次方程对 yy 解出来就是

    y=b Ae2bx/a−1Ae2bx/a+1=b tanh⁡ ⁣(bax+C)y=\sqrt{b}\,\frac{Ae^{2\sqrt{b}x/a}-1}{Ae^{2\sqrt{b}x/a}+1}=\sqrt{b}\,\tanh\!\left(\frac{\sqrt{b}}{a}x+C\right)

    第二个形式来自 tanh⁡u=e2u−1e2u+1\tanh u=\dfrac{e^{2u}-1}{e^{2u}+1}——这种指数之比的形状本来就是双曲正切的伪装。

  5. 代回验证。 取 a=1.7a=1.7、b=2.3b=2.3、C=0.4C=0.4,在 x=0.2x=0.2、0.90.9 和 1.61.6 处数值检验 y2+ay′−by^{2}+ay'-b,残差都在 10−610^{-6} 以下 ✓。另外注意 x→±∞x\to\pm\infty 时 y→±by\to\pm\sqrt{b}:解被夹在两个平衡解之间,这正是 tanh⁡\tanh 所刻画的饱和行为。

  6. 再处理 bb 取其它符号的情形。 若 b<0b<0,令 b=−c2b=-c^{2};此时 a y′=−(c2+y2)a\,y'=-(c^{2}+y^{2}) 积出来是一个反正切,给出 y=ctan⁡ ⁣(−cax+C)y=c\tan\!\left(-\dfrac{c}{a}x+C\right)——数值上验证到 10−510^{-5} ✓,而且它会在有限的 xx 处发散,而不是趋于饱和。若 b=0b=0,则 a y′=−y2a\,y'=-y^{2} 分离后给出 y=ax+Cy=\dfrac{a}{x+C}。

Answer

y=b tanh⁡ ⁣(bax+C)(b>0);y=−b tan⁡ ⁣(−−bax+C)(b<0)y=\sqrt{b}\,\tanh\!\left(\frac{\sqrt{b}}{a}x+C\right)\quad(b>0);\qquad y=\sqrt{-b}\,\tan\!\left(-\frac{\sqrt{-b}}{a}x+C\right)\quad(b<0)

Need to solve a different problem like this? Open the solver →