The hyperbolic tangent is equivalent to (ex - e-x)/(ex + e-x), where e is Euler's number. Also tanh = sinh/cosh.
The syntax of the tanh() method is:
Math.tanh(double value) Here, tanh() is a static method. Hence, we are accessing the method using the class name, Math.
tanh() Parameters
The tanh() method takes a single parameter.
- value - angle whose hyperbolic tangent is to be determined
Note: The value is generally used in radians.
tanh() Return Values
- returns the hyperbolic tangent of value
- returns NaN if the argument value is NaN
- returns 1.0 if the argument is positive infinity
- returns -1.0 if the argument is negative infinity
Note: If the argument is zero, then the method returns zero with the same sign as the argument.
Example 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 } } In the above example, notice the expression,
Math.tanh(value1) Here, we have directly used the class name to call the method. It is because tanh() is a static method.
Note: We have used the Java Math.toRadians() method to convert all the values into radians.
Example 2: Compute tanh() Using sinh() and cosh()
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)); } } In the above example, notice the expression,
Math.sinh(value1)/Math.cosh(value2) Here, we are computing the hyperbolic tangent using sinh()/cosh() formula. As we can see the result of tanh() and sinh()/cosh() is same.
Example 2: tanh() With Zero, NaN and Infinite
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 } } In the above example,
- Double.POSITIVE_INFINITY - implements positive infinity in Java
- Double.NEGATIVE_INFINITY - implements negative infinity in Java
- Math.sqrt(-5) - square root of a negative number is not a number
We have used the Java Math.sqrt() method to calculate the square root of a number.
Note: The tanh() method returns 1.0 for the positive infinity argument and -1.0 for the negative infinity argument.
Also Read: