很多变化不是“每过一段时间加同样多”,而是“每过一段时间乘同一个数”。银行存款按百分比增加,药物浓度按比例降低,细菌在适合环境中按倍数增长,声音强弱和地震能量常用对数刻度描述。指数函数和对数函数就是为这些问题准备的语言。
本章的主线很短:指数函数描述按比例变化,对数函数反过来回答“需要多少次”“需要多久”“指数是多少”。如果能把这两句话抓稳,公式就不再像一串孤立规则。

线性模型的特点是相同时间间隔内增加同样的量。如果一个水箱每分钟注入 3 升水,那么 0 分钟、1 分钟、2 分钟、3 分钟后的水量每次都加 3。图像是一条直线。
指数模型的特点是相同时间间隔内乘同样的因子。如果一种数量每小时增加 20%,那么下一小时不是加固定数,而是乘 。数量越大,下一次增加的绝对量也越大。
最常见的离散指数模型写成:
这里 是初始量, 是每过一个单位时间乘上的因子, 是经过的时间单位数。若 ,模型表示增长;若 ,模型表示衰减。
也可以把乘法因子写成 :
其中 是每个时间单位的增长率或衰减率。增长 8% 对应 ,所以因子是 ;衰减 8% 对应 ,所以因子是 。
“增加 20%”不是“加 20”。百分比变化一定要先找到基准量。若一件商品从 100 元涨 20%,涨价是 20 元;若从 300 元涨 20%,涨价是 60 元。指数模型关心的是这种按比例变化,而不是固定差值。
下面的交互可以直接改变初值、增长率和时间范围。观察图像和表格时,重点看每相邻两项的比值,而不是差值。
判断一组数据是否适合指数模型,先不要急着套公式。把相邻时间点的比值算出来,比值接近固定时,指数模型才有可能合适。
例如,某种细菌数量每小时记录一次:
相邻两项的比值都是 ,因此模型可以写成:
如果相邻差值接近固定,更像线性模型;如果相邻比值接近固定,更像指数模型。真实数据通常有噪声,所以“接近”比“完全相等”更常见。
指数增长常用倍增时间描述。倍增时间是数量变为原来 2 倍所需的时间。指数衰减常用半衰期描述。半衰期是数量变为原来一半所需的时间。

如果某个量每 6 小时翻倍,初始量是 10,那么经过 小时后的模型可以写成:
这里指数 表示“经过了多少个 6 小时”。当 时,指数是 1,数量乘 ;当 时,指数是 2,数量乘 。
如果某种药物在体内的半衰期是 4 小时,初始含量是 80 毫克,那么经过 小时后的模型是:
当 时,剩余 毫克;当 时,剩余 毫克。这里不是每 4 小时减少 40 毫克,而是每 4 小时剩下一半。
半衰期问题里最常见的错误,是把“每过一个半衰期减半”误读成“每过一个半衰期减少同样多”。如果药物从 80 毫克到 40 毫克减少了 40 毫克,下一段不是再减少 40 毫克,而是从 40 毫克减少到 20 毫克。
一种物质的半衰期是 5 年,初始质量为 120 克。15 年后还剩多少克?
先确定经过了几个半衰期。15 年除以 5 年,得到 ,所以一共经历了 3 个半衰期。
每经历一个半衰期,剩余量乘 。经历 3 个半衰期后,乘上的因子是 。
离散模型 假设每隔一个固定时间更新一次。如果利息一年结算一次、人口一年统计一次,这种写法很自然。可是有些过程更像连续发生:细胞分裂、放射性衰变、温度冷却、药物代谢,都不会等到某个整数时刻才突然改变。
自然底数 大约等于 。它可以从连续复利的极限直觉中出现:假设本金为 1,年利率为 100%,如果一年只计息一次,年末得到 ;如果计息次数越来越多,年末金额会越来越接近 。

连续增长或连续衰减常写成:
这里 是初始量, 是连续增长率参数。若 ,函数增长;若 ,函数衰减。
离散模型和连续模型表达的是同一类“按比例变化”的思想,只是时间处理方式不同。若每单位时间乘的因子是 ,那么也可以写成:
所以连续模型中的 可以理解为 。这也是为什么自然对数 会经常和 一起出现。
在预备微积分阶段,不必急着证明 的所有性质。先记住它的角色: 是连续比例变化最自然的指数函数, 是它的反函数。进入微积分后, 会因为自己的变化率仍然等于自己而变得特别重要。
指数表达式回答“已知次数,结果是多少”。对数表达式回答“已知结果,需要多少次”。
若:
那么:
这句话读作“以 2 为底,得到 8 需要指数 3”。对数不是一个新的神秘运算,它是在问指数的位置。
更一般地,若 且 ,则:
等价于:
对数函数的定义域是 ,因为正底数的指数函数 只会输出正数。它不会输出 0,也不会输出负数。

从图像看, 和 互为反函数,所以它们关于直线 对称。指数函数通过点 ,对数函数通过点 。指数函数有水平渐近线 ,对数函数有竖直渐近线 。
常用对数 通常表示以 10 为底的对数,适合处理数量级问题。自然对数 表示以 为底的对数,适合处理连续增长和微积分问题。
例如:
意思是 。而:
意思是 的自然对数回到指数 。
对数性质不需要死记。它们都来自指数运算的规则。
指数相乘时,指数相加:
因此,对数把乘法转成加法:
指数相除时,指数相减:
因此:
指数的幂会把指数相乘:
因此:
这些公式成立的前提是 、,并且所有被取对数的量都必须大于 0。
不能拆成 。对数会把乘法变成加法,不会把加法继续拆开。例如 ,但 显然不是 3。

对数尺度的好处是把“乘同一个倍数”转成“移动同样距离”。在以 10 为底的对数尺度上,从 1 到 10、从 10 到 100、从 100 到 1000,都是乘以 10,所以对数值每次加 1。
指数方程和对数方程的核心策略是互相转换。指数里有未知数时,常用对数把未知数拉下来;对数里有未知数时,常改写成指数形式。
某投资账户初始金额为 5000 元,年增长率为 6%,按年复利。多少年后金额达到 9000 元?
先建立指数模型。初始金额是 5000,每年乘 ,所以 。
解方程:
先检查定义域。必须有 且 ,所以 。
解对数方程时,定义域检查不是可选步骤。代数变形可能产生看似合理的候选解,但只要让某个对数的输入不大于 0,就必须舍去。
现实数据很少完全落在一条指数曲线上。建模时,我们关心的是指数模型是否能解释主要趋势,误差是否可接受,以及模型是否符合情境。
一个常用办法是对指数模型取对数。若:
两边取自然对数,得到:
这说明如果数据适合指数模型,那么把纵坐标改成 后,点应该大致落在一条直线附近。这种方法叫对数线性化,也可以通过半对数图观察。

模型拟合时要注意三件事。
第一,指数模型要求被建模的量为正。因为对数变换需要 ,同时指数模型本身也只输出正值。
第二,指数模型通常只在有限范围内有意义。细菌不能无限增长,投资收益率不会永远固定,疾病传播会受到人口和行为变化影响。一个在短期内很好的模型,长期外推可能很差。
第三,误差也要看结构。如果残差一直同方向偏离,说明模型漏掉了某些重要因素;如果残差在 0 附近无明显模式,模型可能已经抓住主要趋势。
下面的交互把线性拟合、指数拟合和对数线性化放在一起。试着移动数据点,观察哪种模型更稳。
面对指数增长或衰减数据,可以按下面的顺序处理。
先读情境。判断变化是否和当前数量成比例,例如“每年增长 4%”“每小时剩余 92%”“每 3 天翻倍”。
再看表格。计算相邻时间点的比值,判断它们是否比相邻差值更稳定。
建立模型。若初值和固定比例已知,直接写 或 ;若数据来自观测,考虑拟合 。
模型是 。5 小时后 ,约为 352.47。
9 小时是 3 个半衰期,所以剩余量是 毫克。
两边取自然对数,得到 ,所以 。
不总成立。右边等于 ,它表示乘法,不表示加法。只有在 且定义域满足时才会碰巧相等,此时 ,但这不是对数性质。
微积分研究变化率和累积量。指数函数进入微积分,是因为很多过程的瞬时变化率与当前数量成正比。数量越多,增长越快;数量越少,衰减越慢。这正是指数模型的核心。
自然指数函数 在微积分中最自然,因为它的变化率仍然是 。更一般地, 的变化率会与 本身成比例,比例常数是 。这使它成为描述连续增长、衰减、冷却、充放电和人口模型的基本工具。
自然对数 也会反复出现。它是 的反函数,可以把指数位置的未知量拉下来;在积分中,它还会和 发生直接联系。进入微积分后,你会看到指数、对数和比例变化率其实是一组互相翻译的语言。
学完本章后,可以把指数和对数的关系压缩成一句话:指数函数把“次数”变成“结果”,对数函数把“结果”反推回“次数”。增长模型只是把这句话放进真实时间和真实数据里。
把初始量代入模型,得到 。15 年后剩余 15 克。
把目标金额代入,得到 。两边除以 5000,得到 。
对两边取自然对数,得到 。利用幂性质,左边变成 。
解出 。如果按整年计,约第 11 年末达到或超过 9000 元。
用乘法性质合并对数,得到 。
改写成指数形式,得到 。
展开并整理:,所以 。
用求根公式得到 。其中 ,不在定义域内;有效解是 。
检查模型。比较预测值和实际值,观察残差有没有明显模式,并确认预测范围没有超出情境允许的范围。