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) {

    // 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


另请阅读

你觉得这篇文章有帮助吗?

我们的高级学习平台,凭借十多年的经验和数千条反馈创建。

以前所未有的方式学习和提高您的编程技能。

试用 Programiz PRO
  • 交互式课程
  • 证书
  • AI 帮助
  • 2000+ 挑战