Administrator
发布于 2026-10-22 / 0 阅读
0
0

对数求导法:加一对绝对值,少做许多分类讨论

对数求导法的基本思路很自然:遇到多个因子的乘积、商或幂,先取对数,把乘除化成加减,再求导。

但实际使用时,常常会遇到一个麻烦:实数范围内,对数的真数必须为正。原函数可能取负值;即使原函数为正,组成它的某些因子也可能为负。如果每次都按各个因子的正负划分区间,再逐段改写,计算就会变得繁琐。

一个很有用的技巧是:在适当的位置加上绝对值,使用 \ln|y| 和 \ln|u(x)|。

这个技巧背后的核心公式是

\boxed{\frac{d}{dx}\ln|u(x)|=\frac{u'(x)}{u(x)}}.

只要 u 在所考察的点可导且不为零,这个公式就成立。它不要求 u 为正。

为什么加了绝对值,求导结果却没有多出一个符号?我们可以把分类讨论集中做一次。

当 u(x)>0 时,\ln|u(x)|=\ln u(x),于是

\frac{d}{dx}\ln|u(x)|=\frac{u'(x)}{u(x)}.

当 u(x)<0 时,\ln|u(x)|=\ln(-u(x)),于是

\frac{d}{dx}\ln|u(x)| =\frac{-u'(x)}{-u(x)} =\frac{u'(x)}{u(x)}.

这里的分子、分母各产生一个负号,恰好抵消。严格地说,若 u(x_0)\ne0,由于可导蕴含连续,u 在 x_0 的某个邻域内保持与 u(x_0) 相同的符号,所以上面的求导是有依据的。

因此,我们只需在证明公式时讨论一次正负,之后便可以统一使用它。特别地,

\frac{d}{dx}\ln|x-a|=\frac1{x-a},\qquad x\ne a.

注意,右边是 1/(x-a),不是 1/|x-a|。绝对值消除了取对数的障碍,却没有把导数的符号抹去。

取绝对值后,对数的运算法则也能统一处理非零实数因子。对于 a,b\ne0,有

\ln|ab|=\ln|a|+\ln|b|, \qquad \ln\left|\frac ab\right|=\ln|a|-\ln|b|.

原因很简单:|ab|=|a||b|,而 |a|,|b| 都为正。我们实际使用的仍然是正数的对数法则。

来看一道具体的题:求

y=\sqrt{\frac{(x-1)(x-2)}{(x-3)(x-4)}}

的导数。

首先确定原函数的定义域。被开方数必须非负,分母不能为零,因此

D=(-\infty,1]\cup[2,3)\cup(4,+\infty).

在这些区间的内部,即

I=(-\infty,1)\cup(2,3)\cup(4,+\infty),

被开方数严格为正,y>0,可以取对数。

如果直接写成

\ln y=\frac12\bigl[\ln(x-1)+\ln(x-2)-\ln(x-3)-\ln(x-4)\bigr],

这个等式只在 x>4 时才有意义。例如,x<1 时,原函数完全有定义,但右边四个对数的真数全是负数。

问题出在:整体为正,不代表每个因子都为正。

在 I 上,原来的分式为正,所以可以写成

\frac{(x-1)(x-2)}{(x-3)(x-4)} =\left|\frac{(x-1)(x-2)}{(x-3)(x-4)}\right| =\frac{|x-1||x-2|}{|x-3||x-4|}.

于是统一得到

\ln y=\frac12\bigl[\ln|x-1|+\ln|x-2|-\ln|x-3|-\ln|x-4|\bigr].

两边求导:

\frac{y'}y =\frac12\left(\frac1{x-1}+\frac1{x-2}-\frac1{x-3}-\frac1{x-4}\right).

因此,在 I 上,

\boxed{ y'=\frac12\sqrt{\frac{(x-1)(x-2)}{(x-3)(x-4)}} \left(\frac1{x-1}+\frac1{x-2}-\frac1{x-3}-\frac1{x-4}\right) }.

三个区间使用同一套计算,不必分别把负因子改写为 1-x、2-x 等形式。

这里仍有两个点需要说明:x=1 和 x=2 属于原函数的定义域,但此时 y=0,不能取对数。它们也是定义域的端点;即使考察沿定义域的单侧差商,也没有有限极限。事实上,

y\sim\sqrt{\frac{1-x}{6}}\quad(x\to1^-), \qquad y\sim\sqrt{\frac{x-2}{2}}\quad(x\to2^+).

所以相应的单侧差商分别趋于 -\infty 和 +\infty。上面的导数公式已经覆盖了这道题中所有通常意义下可导的点。

再看一个函数本身也可能为负的例子:

y=(x-1)\sqrt[3]{\frac{(x-2)^2}{x-3}}.

原函数在 x\ne3 时有定义,在 x=1,2 时取零值。按照题目要求,我们先求 y\ne0 时的导数,即考虑 x\ne1,2,3。

这次不能直接写 \ln y,因为 y 可能为负。不过,|y| 一定为正。利用实数立方根的性质,

|y|=|x-1|\sqrt[3]{\frac{|x-2|^2}{|x-3|}}.

因此

\ln|y|=\ln|x-1|+\frac23\ln|x-2|-\frac13\ln|x-3|.

两边求导,得到

\frac{y'}y=\frac1{x-1}+\frac{2}{3(x-2)}-\frac1{3(x-3)}.

所以

\boxed{ y'=(x-1)\sqrt[3]{\frac{(x-2)^2}{x-3}} \left(\frac1{x-1}+\frac{2}{3(x-2)}-\frac1{3(x-3)}\right) },\qquad x\ne1,2,3.

这一过程中不需要先判断 y 在每个区间内的正负。最后乘回去的仍是原函数 y,不是 |y|,因为 \ln|y| 的导数是 y'/y。

不过,不能取对数,不等于原函数不可导。 如果进一步要求所有可导点处的导数,就需要回到原函数检查被取对数这一步排除的零点。

例如在 x=1 处,令

g(x)=\sqrt[3]{\frac{(x-2)^2}{x-3}},

则 y=(x-1)g(x),且 g 在 1 处连续。由导数定义,

y'(1)=\lim_{x\to1}\frac{(x-1)g(x)-0}{x-1} =g(1)=-\frac1{\sqrt[3]2}.

可见,y(1)=0 虽然使对数求导法无法直接使用,却没有妨碍导数存在。

而在 x=2 附近,令 x=2+h,则

\frac{y(2+h)-y(2)}h =\frac{1+h}{\sqrt[3]{h-1}}\frac{|h|^{2/3}}h.

当 h\to0^- 时,差商趋于 +\infty;当 h\to0^+ 时,差商趋于 -\infty。因此 x=2 处不可导。两个零点的情况不同,必须依据原函数判断。

这个技巧还可以概括为一个乘积公式。若 u_1,\ldots,u_n 都在所考察的点可导且不为零,令

y=\prod_{k=1}^n u_k(x),

那么

\ln|y|=\sum_{k=1}^n\ln|u_k(x)|,

从而

\boxed{\frac{y'}y=\sum_{k=1}^n\frac{u_k'}{u_k}}.

对于商,分母对应的项取负号;对于非零的整数次幂,指数作为系数提出。含根式时,则先依据原有定义域和根式性质正确改写,再使用对数法则。

还要避免一个容易发生的误用:绝对值不能替原函数扩大定义域。例如,在上面的平方根例题中,把被开方数改成它的绝对值,确实会让更多的 x 可以代入,但在原定义域之外,得到的已经是另一个函数。我们的等式始终是在原函数有定义的范围内使用的。

同样,对于 y=x^x,按通常的实变量幂函数定义在 x>0 上求导,有

\ln y=x\ln x, \qquad y'=x^x(\ln x+1).

不能仅仅把 \ln x 换成 \ln|x|,就声称同一推导适用于所有 x<0。这会牵涉原来的 x^x 在负数上的实数定义问题;若改用 |x|^x,研究对象就改变了。

使用这个技巧时,可以记住三个动作:先确定原函数的定义域;在函数及相关因子非零的地方取绝对值、取对数;最后检查取对数时排除的零点。绝对值主要省去的是符号的分类讨论,定义域和零点的判断仍然保留。

一对绝对值之所以能让计算变得简洁,是因为正值与负值两种情况在求导之后恰好归结为同一个表达式 u'/u。把这一点证明清楚,许多原本需要逐段书写的计算,就可以一次完成。


评论