对数函数:指数问题的反向语言
指数函数回答的是“给定底数和指数,结果是多少”。对数函数把这个问题倒过来:给定底数和结果,追问指数是多少。这个转身看起来只是换了一种写法,实际会改变我们观察增长的方式。许多很大的倍数关系、很慢的增长、很宽的测量范围,都会因为对数而变得可读。
本章把对数函数放在指数函数之后学习。你会反复看到同一句话的两种语言:指数语言说“b 的 y 次方得到 x”,对数语言说“以 b 为底,x 的对数是 y”。
从指数问题反向读

图:对数把“算出结果”的指数问题,改写成“追问指数”的反向问题。
对数的核心定义只有一行:
logb(x)=y⟺by=x
这行公式要从右往左、从左往右都能读。右边的 by=x 是指数式:底数是 b,指数是 y,结果是 x。左边的 logb(x)=y 是对数式:底数仍然是 b,输入是 x,输出是让 b 变成 x 所需要的指数 y。
例如 25=32,所以:
log2(32)=5
这不是新算术规则,而是同一事实的另一种说法。再比如 3−2=91,所以:
log3(91)=−2
对数可以是负数,因为负指数可以产生小于 1 的正数。对数的输入不能是负数或 0,这一点来自指数函数的值域,而不是记号上的规定。
符号里藏着三个条件

图:logb(x) 的输入必须在正半轴上,底数必须是正数且不能等于 1。
在 logb(x) 里,b 叫底数,x 叫真数或输入,整个表达式的值是一个指数。为了让它在实数范围内成为一个函数,我们要求:
b>0,b=1,x>0
底数要大于 0,是因为本课程研究的指数函数 bt 需要对所有实数 t 有意义并保持连续的函数图像。底数不能等于 1,是因为 1t 永远等于 1,无法从结果反推出唯一指数。输入 x 必须大于 0,是因为正底数的指数函数只能输出正数。
因此,基本对数函数
f(x)=logb(x)
的定义域是 (0,∞),值域是 (−∞,∞)。换句话说,对数函数只接受正输入,但输出可以是任意实数。
判断对数表达式有没有意义时,先看真数是否大于零,再看底数是否满足大于零且不等于一。像 log2(x−3) 的定义域不是所有实数,而是由 x−3>0 得到的 x>3。
几个基础值值得记熟:
logb(1)=0
logb(b)=1
logb(bk)=k
这些式子直接来自 b0=1、b1=b 和 bk=bk。它们是日后心算、画图和化简的支点。
常用对数与自然对数

图:常用对数使用底数 10,自然对数使用底数 e。
对数可以有许多底数,但两个底数最常见。
常用对数是以 10 为底的对数:
log10(x)
在许多计算器上,它写成 log(x);在不少中文教材中,也常写成 lgx。因为 10 是十进制的底,常用对数很适合描述数量级。例如:
log10(1000)=3
这句话的意思是 1000 是 10 的 3 次方。
自然对数是以 e 为底的对数:
ln(x)=loge(x)
其中 e≈2.71828。自然对数在连续增长、微积分和许多科学模型中出现得非常频繁。现在只需要先把它看成“底数是 e 的对数”。例如:
ln(e4)=4
如果只写 logx 而没有写底数,要看语境。高中教材和很多科学计算器中通常表示以 10 为底;进入更高等的数学语境后,有时 logx 也会表示自然对数。为了避免误解,本章在关键公式中会尽量写清底数。
图像是指数图像的镜像

图:y=log2x、y=lnx、y=log10x 都经过 (1,0),并以 x=0 为竖直渐近线。
指数函数 y=bx 与对数函数 y=logb(x) 互为反函数,所以它们的图像关于直线 y=x 对称。指数函数的点 (a,ba),在对数图像上会变成 (ba,a)。
以 b>1 为例,指数函数 y=bx 经过 (0,1),对数函数 y=logb(x) 就经过 (1,0)。指数函数的值域是 (0,∞),对数函数的定义域也正好是 (0,∞)。
对数图像有几个稳定特征:
- 它经过 (1,0),因为 logb(1)=0。
- 它经过 (b,1),因为 logb(b)=1。
- 它的竖直渐近线是 x=0。
- 当 b>1 时,y=logb(x) 是增函数。
- 当 0<b<1 时,y=logb(x) 是减函数。
对数函数的增长很慢。以 y=log10(x) 为例,x 从 10 增加到 100,函数值只从 1 增加到 2;x 再增加到 1000,函数值才到 3。每往上走一格,横向输入都要乘以 10。
对数律来自指数律

图:指数相加对应幂相乘;对数把这个关系反向读成“乘法变加法”。
对数律不是一组孤立要背的规则。它们来自指数律。先看乘积公式。设:
u=logb(M),v=logb(N)
根据定义,有:
M=bu,N=bv
于是:
MN=bu⋅bv=bu+v
再把它读回对数语言:
logb(MN)=u+v=logb(M)+logb(N)
所以:
logb(MN)=logb(M)+logb(N)
同样地,在 b>0、b=1、M>0、N>0 的条件下:
logb(NM)=logb(M)−logb(N)
logb(Mr)=rlogb(M)
商律来自 bu/bv=bu−v,幂律来自 (bu)r=bur。只要你能把对数换回指数,就能看出这些规则为什么成立。
对数律只处理乘法、除法和幂。一般情况下,logb(M+N) 不能拆成 logb(M)+logb(N)。例如 log10(10+90)=2,但 log10(10)+log10(90) 约等于 2.954,两者并不相等。
用换底公式连接不同底数
计算器通常直接提供 log 和 ln,但题目里可能出现任意底数,比如 log2(7)。这时可以使用换底公式:
logb(x)=loga(b)loga(x)
其中 a>0 且 a=1。常用写法是:
logb(x)=ln(b)ln(x)
或者:
logb(x)=log10(b)log10(x)
换底公式的含义是:先用同一把“对数尺”分别量 x 和 b,再比较这两个读数。它不改变对数的本质,只是换一种可计算的单位。
对数尺度看的是倍数

图:对数尺度把很宽的真实数值范围压缩成容易比较的刻度。
线性尺度关心“多了多少”。对数尺度更关心“变成了多少倍”。如果一个量写成 R=10k,那么:
log10(R)=k
k 每增加 1,真实比例 R 就乘以 10。所以对数尺度上的等距刻度,对应真实世界中的等比变化。
这就是为什么对数常用于范围特别大的测量。
pH 使用负的常用对数描述氢离子浓度:
pH=−log10[H+]
由于前面有负号,pH 每降低 1,氢离子浓度约乘以 10。pH 为 3 的溶液,其氢离子浓度约是 pH 为 4 的 10 倍。
分贝常用来描述强度比,例如声强级可以写成:
L=10log10(I0I)
这里比较的是声强 I 相对于参考声强 I0 的倍数。读数增加 10 dB,对应强度比乘以 10。
地震震级也使用对数思想。简化地说,震级差 1 对应某个测量量约相差 10 倍。真实地震能量还有更细的换算,不能把“震级多 1”粗略理解成所有物理量都只多 10 倍。这里最重要的是看懂:对数刻度上的加法,背后对应真实量的乘法。
例题把定义落到手上
例题:心算对数值
求 log3(81)、log3(271) 和 log5(1)。
先把每个真数写成对应底数的幂。因为 81=34,所以 log3(81) 追问的是 3 的几次方等于 81。
由 81=34 得到 log3(81)=4。
因为 271=3−3,所以 log3(271)=−3。负值来自负指数,而不是来自负输入。
因为任何允许底数都满足 50=1,所以 log5(1)=0。
例题:先找定义域
求函数 f(x)=log2(3x−6) 的定义域。
对数函数的真数必须大于零,所以先写出不等式 3x−6>0。
解这个不等式,得到 3x>6,因此 x>2。
底数 2 已经满足 2>0 且 2=1,不再产生额外限制。
所以定义域是 (2,∞)。如果画图,竖直渐近线会从 x=0 平移到 x=2。
例题:用对数律展开
在 x>0、y>0 的条件下,展开:
log2(y8x3)
先把商拆开,得到 log2(8x3)−log2(y)。
再把乘积拆开,得到 log2(8)+log2(x3)−log2(y)。
使用 log2(8)=3 和幂律 log2(x3)=3log2(x)。
最终得到 3+3log2(x)−log2(y)。
例题:把倍数增长转成时间
某细菌数量按 P(t)=1200⋅1.18t 增长,t 以小时计。数量达到初始值 5 倍大约需要多少小时?
达到初始值 5 倍,表示 1200⋅1.18t=5⋅1200。两边同时除以 1200,得到 1.18t=5。
用对数语言追问指数:t=log1.18(5)。
用换底公式计算,t=ln(1.18)ln(5)。
近似计算得到 t≈9.72,所以大约需要 9.7 小时。
常见误区集中拆开

图:对数运算最常见的错误,往往来自忘记定义域或把加法误拆。
化简对数表达式时,规则只在原表达式有意义的范围内使用。尤其是把多个对数合成一个对数时,不要忘记原来每个真数都必须大于零。
误区一是把对数当成普通乘法记号。logb(x) 是一个函数值,不是 log⋅b⋅x。底数 b 说明使用哪一种指数尺,真数 x 是被测量的正数。
误区二是忽视真数条件。log2(x2) 的定义域是 x=0,因为 x2>0;log2(x) 的定义域才是 x>0。两者不能随意互换。
误区三是把加法放进对数律。对数可以把乘法变成加法,但不能把加法拆成加法:
logb(MN)=logb(M)+logb(N)
一般却没有:
logb(M+N)=logb(M)+logb(N)
误区四是忘记底数小于 1 时图像递减。当 0<b<1 时,bx 随 x 增大而减小,它的反函数 logb(x) 也随 x 增大而减小。这个性质在下一章解不等式时尤其重要。
自测
- 判断 log4(64) 的值。
因为 43=64,所以 log4(64)=3。
- 求 log7(x+2) 的定义域。
真数要大于零,所以 x+2>0,定义域是 (−2,∞)。
- 判断等式 log2(8+8)=log2(8)+log2(8) 是否成立。
不成立。左边是 log2(16)=4,右边是 3+3=6。对数律不能拆真数里的加法。
- 用换底公式估算 log2(10)。
可以写成 log2(10)=ln(2)ln(10)≈3.322。这也说明 10 位于 23=8 和 24=16 之间。
小结
对数函数的本质是指数函数的反函数。只要记住 logb(x)=y 等价于 by=x,许多看似新的公式都会回到熟悉的指数律。
本章最重要的检查顺序是:先确认底数 b>0 且 b=1,再确认真数 x>0,最后把问题翻译成指数语言或对数语言。对数图像、对数律、换底公式和对数尺度都围绕这一点展开。
学到这里,你已经能读懂对数函数本身。下一章会进一步处理指数方程和对数方程,也就是把“反向语言”用于求未知数。