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.