PHP sinh() 函数

定义和用法

sinh() 函数返回一个数的双曲正弦值。双曲正弦定义为:sinh(x) = (e^x - e^(-x)) / 2

提示:如需计算反双曲正弦,请使用 asinh() 函数。双曲函数与三角函数类似,但基于双曲线而非圆。

语法

sinh(float $num): float
参数 描述
num 必需。规定一个要计算双曲正弦的数。

返回值

返回 num 的双曲正弦值。

PHP 版本

  • PHP 4+
  • PHP 5+
  • PHP 7+
  • PHP 8+

示例

示例 1:基本用法

<?php
echo sinh(0) . "<br>";      // 0
echo sinh(1) . "<br>";      // 约 1.1752011936438
echo sinh(-1) . "<br>";     // 约 -1.1752011936438 (sinh是奇函数)
echo sinh(2) . "<br>";      // 约 3.626860407847
?>

输出:

0
1.1752011936438
-1.1752011936438
3.626860407847

示例 2:验证双曲恒等式

<?php
$x = 2;
$sinh_x = sinh($x);
$cosh_x = cosh($x);

// cosh²(x) - sinh²(x) = 1
$identity = $cosh_x * $cosh_x - $sinh_x * $sinh_x;
echo "cosh($x)² - sinh($x)² = $identity";
?>

输出:

cosh(2)² - sinh(2)² = 1

示例 3:实际应用 - 悬链线方程

<?php
// 悬链线方程 y = a * cosh(x/a) 的导数 dy/dx = sinh(x/a)
function catenarySlope($x, $a) {
    return sinh($x / $a);
}

$a = 2; // 形状参数
$x = 1.5;
$slope = catenarySlope($x, $a);
echo "悬链线在 x=$x, a=$a 处的斜率为: $slope";
?>

输出:

悬链线在 x=1.5, a=2 处的斜率为: 0.82144653344825

相关函数

注意事项

重要:
  • sinh() 对于非常大的输入值可能返回 INF(无穷大)或溢出。
  • 由于浮点数的限制,结果可能存在微小的误差,但通常对于大多数应用足够精确。
  • 传入非数值类型参数会导致警告(PHP 7+)或 TypeError(PHP 8+)。