分离变量法求解ODE的两种结果:为何仅一种有效?
这是个非常典型的分离变量法细节问题,咱们一步步拆解根源:
首先明确原方程:$t \cdot x'(t) = x(t)$,定义域是**$t \neq 0$**(t=0时方程左边为0,右边x(0)仅当x(0)=0时成立,但原方程在t=0处无定义,所以我们只需要考虑t>0和t<0两个连通区间)。
第一种方法的问题:推导不严谨,漏解且表达式冗余
第一种方法的关键疏漏出在积分步骤:
$$\log(x(t))=\log|t|+C$$
这里左边直接写了$\log(x(t))$,默认了$x(t)>0$,完全忽略了$x(t)<0$的情况(原方程的解可以是负的,比如$x(t)=-t$在$t≠0$时满足$t x'(t)=t \cdot (-1)=-t=x(t)$)。
即使只看正解的情况,最后得到$x(t)=C_1|t|$,这个表达式其实可以简化:
- 当$t>0$时,$|t|=t$,即$x(t)=C_1 t$;
- 当$t<0$时,$|t|=-t$,即$x(t)=-C_1 t$。
本质上这就是分段的线性解,但推导过程没覆盖$x(t)<0$的情况,导致表达式看起来是绝对值形式,反而掩盖了解的线性本质。
第二种方法的严谨性:完整覆盖所有非零解,统一表达式
第二种方法的积分步骤加了绝对值:
$$\log|x(t)|=\log|t| + C$$
这一步就涵盖了$x(t)>0$和$x(t)<0$两种情况,接下来的推导:
$$|x(t)|=C_1|t| \iff x(t)=C_1 t$$
这里的$C_1$可以是任意非零实数(正或负),再补上被分离变量法忽略的零解$x(t)=0$(当$C_1=0$时正好包含进去),就得到了原方程在$t≠0$时的全部解:$x(t)=C_1 t$($C_1$为任意实数)。
总结差异根源
两种方法的核心差异在于积分时是否对$x(t)$加绝对值:
- 第一种方法没加绝对值,只推导了$x(t)>0$的情况,结果表达式冗余且不完整;
- 第二种方法通过绝对值覆盖了所有非零解,再结合零解,得到了简洁且完整的通解形式。
另外补充一点:$x(t)=C_1|t|$在$t≠0$时其实也是解,但它是分段线性解的一种写法,不如$x(t)=C_1 t$统一——因为在单个连通区间(比如t>0)内,解就是$x(t)=C t$,t<0同理,不同区间的常数可以不同,但通常我们说的通解是指单个区间内的解,这时候$x(t)=C t$就是最标准的形式。
内容的提问来源于stack exchange,提问作者lemontree

