双曲正切等同于 (ex - e-x)/(ex + e-x),其中 e 是欧拉数。同样 tanh = sinh/cosh
。
tanh()
方法的语法是
Math.tanh(double value)
这里,tanh()
是一个静态方法。因此,我们使用类名 Math
来访问该方法。
tanh() 参数
tanh()
方法接受单个参数。
- value - 要确定其双曲正切的角度
注意:通常使用弧度值。
tanh() 返回值
- 返回 value 的双曲正切值
- 如果参数 value 为 NaN,则返回 NaN
- 如果参数为正无穷大,则返回 1.0
- 如果参数为负无穷大,则返回 -1.0
注意:如果参数为零,则该方法返回零,其符号与参数相同。
示例 1:Java Math tanh()
class Main {
public static void main(String[] args) {
// create a double variable
double value1 = 45.0;
double value2 = 60.0;
double value3 = 30.0;
// convert into radians
value1 = Math.toRadians(value1);
value2 = Math.toRadians(value2);
value3 = Math.toRadians(value3);
// compute the hyperbolic tangent
System.out.println(Math.tanh(value1)); // 0.6557942026326724
System.out.println(Math.tanh(value2)); // 0.7807144353592677
System.out.println(Math.tanh(value3)); // 0.4804727781564516
}
}
在上面的示例中,请注意表达式,
Math.tanh(value1)
在这里,我们直接使用类名来调用该方法。这是因为 tanh()
是一个静态方法。
注意:我们使用了 Java Math.toRadians() 方法将所有值转换为弧度。
示例 2:使用 sinh() 和 cosh() 计算 tanh()
class Main {
public static void main(String[] args) {
// create a double variable
double value1 = 45.0;
double value2 = 60.0;
double value3 = 30.0;
// convert into radians
value1 = Math.toRadians(value1);
value2 = Math.toRadians(value2);
value3 = Math.toRadians(value3);
// compute the hyperbolic tangent: sinh()/cosh()
// returns 0.6557942026326724
System.out.println(Math.sinh(value1)/Math.cosh(value1));
// returns 0.7807144353592677
System.out.println(Math.sinh(value2)/Math.cosh(value2));
// returns 0.4804727781564516
System.out.println(Math.sinh(value3)/Math.cosh(value3));
}
}
在上面的示例中,请注意表达式,
Math.sinh(value1)/Math.cosh(value2)
这里,我们使用 sinh()/cosh()
公式计算双曲正切。正如我们所见,tanh()
和 sinh()/cosh()
的结果是相同的。
示例 2:tanh() 结合零、NaN 和无穷大
class Main {
public static void main(String[] args) {
// create a double variable
double value1 = Double.POSITIVE_INFINITY;
double value2 = Double.NEGATIVE_INFINITY;
double value3 = Math.sqrt(-5);
double value4 = 0.0;
// convert into radians
value1 = Math.toRadians(value1);
value2 = Math.toRadians(value2);
value3 = Math.toRadians(value3);
value4 = Math.toRadians(value4);
// compute the hyperbolic tangent
System.out.println(Math.tanh(value1)); // 1.0
System.out.println(Math.tanh(value2)); // -1.0
System.out.println(Math.tanh(value3)); // NaN
System.out.println(Math.tanh(value4)); // 0.0
}
}
在上面的例子中:
- Double.POSITIVE_INFINITY - 在 Java 中表示正无穷大
- Double.NEGATIVE_INFINITY - 在 Java 中表示负无穷大
- Math.sqrt(-5) - 负数的平方根不是一个数字
我们使用了 Java Math.sqrt() 方法来计算一个数字的平方根。
注意:对于正无穷大参数,tanh()
方法返回 1.0;对于负无穷大参数,返回 -1.0。
另请阅读