指数函数 :底是常数
指数函数(exponential function)形如 :底 是常数,指数 是自变量。它与幂函数 恰好把底与指数的角色对调,是最容易混淆的一对。
1 · 底的取值范围
定义要求 且 ,两条各有各的理由。
是为了让定义域能取到全体实数。 时 对多数实数指数无定义: 在实数范围内不存在,而 与 又会因指数的写法不同而给出不同的值(见指数与对数的运算)。要保住一个处处有定义、且不依赖指数写法的函数,底只能取正。
排除的是退化情形。 恒等于 ,图象是一条水平直线,既不单调、值域也只有一个点,与指数函数的全部特征都不符。
2 · 图象的不变特征
无论 取何值,三条特征都不变。曲线恒过定点 ,因为 。定义域是全体实数,值域是 。 轴(即直线 )是水平渐近线,曲线无限贴近它却不相交。
单调方向由 与 的大小裁定: 时单调递增且 越大上升越陡, 时单调递减。两种情形的图象关于 轴对称,因为 。
同底的指数函数 与对数函数 互为反函数,把这条曲线关于直线 反射即得对数函数的图象。
3 · 值域为正在双精度下失效
「指数函数的值永远为正」是一条数学结论,在代码里它不成立。双精度能表示的最小正数是
(约
,一个次正规数),再往下就没有格子了。实测 2 ** -1074 得
,而 2 ** -1075 精确地得 0——不是一个很小的正数,是零本身。
另一端同样有界。2 ** 1023 得约
,2 ** 1024 得 Infinity。所以在 double 里,
的「值域」是
的一个有限子集,
轴不再是渐近线而是被真正触到的一条线,
的整段图象与
轴重合。
注 · 这条边界对作图有直接后果:判断曲线是否与
轴相交,不能用
作判据。同一条式子在
那一侧更早撞上边界——0.5 ** 1075 也返回 0,而
完全落在常见的绘图窗口之外的说法并不成立,只要横轴量程给得够宽就会看到那条并入
轴的尾巴。相关的间距与判等口径见浮点数:实数在代码里的残影。
4 · 参考文献
- Exponential function. Wikipedia. 指数函数的定义、性质与底的取值限制。https://en.wikipedia.org/wiki/Exponential_function
- Exponentiation. Wikipedia. 负底数配实指数为何无法一致定义。https://en.wikipedia.org/wiki/Exponentiation
- Subnormal number. Wikipedia. 次正规数与双精度的最小正数 。https://en.wikipedia.org/wiki/Subnormal_number