双曲正切等价于 (e
x-e
-x)/(e
x + e
-x),其中 e 是欧拉数。还有
tanh = sinh/cosh
。
tanh()
方法的语法是:
Math.tanh(double value)
这里,
tanh()
是一个静态方法。因此,我们使用类名访问该方法,
Math
。
tanh() 参数
tanh()
方法接受一个参数。
注意: 该值一般使用弧度。
tanh() 返回值
返回值的双曲正切值 如果参数 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。