跳到主要内容

Java Math tanh() 方法

双曲正切等同于 (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) {

// 创建一个 double 变量
double value1 = 45.0;
double value2 = 60.0;
double value3 = 30.0;

// 转换为弧度
value1 = Math.toRadians(value1);
value2 = Math.toRadians(value2);
value3 = Math.toRadians(value3);

// 计算双曲正切
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) {

// 创建一个 double 变量
double value1 = 45.0;
double value2 = 60.0;
double value3 = 30.0;

// 转换为弧度
value1 = Math.toRadians(value1);
value2 = Math.toRadians(value2);
value3 = Math.toRadians(value3);

// 计算双曲正切:sinh()/cosh()
// 返回 0.6557942026326724
System.out.println(Math.sinh(value1)/Math.cosh(value1));

// 返回 0.7807144353592677
System.out.println(Math.sinh(value2)/Math.cosh(value2));

// 返回 0.4804727781564516
System.out.println(Math.sinh(value3)/Math.cosh(value3));
}
}
```在上面的示例中,请注意表达式,

```java
Math.sinh(value1)/Math.cosh(value2)

这里,我们使用 sinh()/cosh() 公式来计算双曲正切。可以看到,tanh()sinh()/cosh() 的结果是相同的。

示例 2:tanh() 处理零、NaN 和无穷大

class Main {
public static void main(String[] args) {

// 创建一个 double 变量
double value1 = Double.POSITIVE_INFINITY;
double value2 = Double.NEGATIVE_INFINITY;
double value3 = Math.sqrt(-5);
double value4 = 0.0;

// 转换为弧度
value1 = Math.toRadians(value1);
value2 = Math.toRadians(value2);
value3 = Math.toRadians(value3);
value4 = Math.toRadians(value4);

// 计算双曲正切
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

推荐教程