这个计算器能做什么
本工具可以在一段 x 取值区间内,为对数函数生成数值表和函数图像。你可以选择自然对数 \(\ln(x)\)(以 e 为底)、常用对数 \(\log(x)\)(以 10 为底),或以任意底数 \(a\) 计算的对数,记作 \(\log_a(x)\)。从起始值开始,按固定步长递增到终止值,工具会对每个 \(x\) 计算 \(y = f(x)\),列出所有 \((x, y)\) 数据对,并绘制出对应的曲线。
使用方法
先在下拉菜单中选择函数。如果选择 \(\log_a(x)\),需要填写底数 \(a\)(必须大于 0 且不等于 1)。设置「x 区间(起)」和「x 区间(止)」,以及「步长」(增量)。再选择结果要显示的有效数字位数。计算器会逐点遍历整个区间,自动跳过等于 0 或为负数的 \(x\) 值,因为对数在这些位置没有定义。为了保证响应速度,数值表最多显示 301 行。
计算公式
自然对数 \(y = \ln(x)\) 是 \(e^x\) 的反函数。常用对数为 $$y = \log_{10}(x) = \frac{\ln(x)}{\ln(10)}$$ 对于任意底数 \(a\),由换底公式可得 $$\log_a(x) = \frac{\ln(x)}{\ln(a)}, \quad a>0,\ a\neq 1$$ 在程序内部,Math.log 表示自然对数,Math.log10 表示以 10 为底的对数。由于当 \(a = 1\) 时 \(\ln(a) = 0\),为避免除以零,底数恰好等于 1 的情况会被拒绝。
实例演示
选择 \(\log_a(x)\),令 \(a = 2\),\(x\) 从 1 取到 8,步长为 1。根据换底公式可得:\(\log_2(1)=0\),\(\log_2(2)=1\),\(\log_2(3)=1.584963\),\(\log_2(4)=2\),\(\log_2(5)=2.321928\),\(\log_2(6)=2.584963\),\(\log_2(7)=2.807355\),\(\log_2(8)=3\)。所有 8 行都有定义(每个 \(x\) 都是正数),因此表中共有 8 行、8 个绘制点,第一个点位于 \((1, 0)\)。
常见问题
为什么 \(x = 0\) 会显示为「未定义」?当 \(x\) 趋近于 0 时,对数趋向负无穷大,而负数的对数不是实数,因此这些行会被标记为未定义且不参与绘图;y 轴在图像中表现为一条竖直渐近线。
底数可以是分数吗?可以。任何满足 \(0 < a < 1\) 的底数(例如 0.5)都是有效的,会得到一条递减曲线。只有 \(a = 1\) 以及 \(a \le 0\) 是不允许的。
「有效数字位数」会改变什么?它只影响数值表中显示的位数,底层运算始终采用完整的双精度浮点计算。