这个计算器能做什么
本工具可对任意实数 x 求双曲正切函数 tanh(x) 的值,更重要的是同时给出它的一阶导数 tanh'(x),此外还会输出二阶导数 tanh''(x)。双曲正切是一条平滑的 S 形(sigmoid 型)曲线,输出值始终被限制在 -1 到 1 之间。正因如此,它在神经网络中常被用作激活函数,在物理与工程建模中也十分常见。
如何使用
在输入框中填入任意实数 x 并提交即可。计算器会先算出 tanh(x),再由这一个值推导出一阶和二阶导数。这里不涉及任何单位换算:x 是无量纲的实数,所有输出结果同样是无量纲的。
公式详解
双曲正切的定义为 tanh(x) = (e^x - e^-x) / (e^x + e^-x)。它的一阶导数有一个非常简洁的闭式表达:f'(x) = 1 - tanh(x)^2,也等价于 sech^2(x) = 1/cosh(x)^2。由于 tanh(x) 取值落在 (-1, 1) 区间内,因此一阶导数始终落在 (0, 1] 区间内,并在 x = 0 处取得最大值,此时斜率恰好为 1。二阶导数为 f''(x) = -2 tanh(x) (1 - tanh(x)^2),这是一个奇函数,会在 x = 0 处穿过零点。
计算实例(x = 0.5)
tanh(0.5) = (1.6487212707 - 0.6065306597) / (1.6487212707 + 0.6065306597) = 0.4621171573。于是 f'(0.5) = 1 - 0.4621171573^2 = 0.7864477541,f''(0.5) = -2 × 0.4621171573 × 0.7864477541 = -0.7269278407。
常见问题
为什么 x 很大时梯度会消失?当 x 不断增大时,tanh 会逐渐饱和并趋近于 ±1,于是 1 - tanh^2 趋于 0。这种"梯度消失"现象会拖慢深层网络的训练速度。
导数会出现负值吗?不会。f'(x) = sech^2(x) 对所有实数 x 都严格为正,因此 tanh 始终单调递增。
会有除以零的风险吗?不会。对任意实数 x,cosh(x) 都至少等于 1,所以 sech^2(x) 永远有定义。