Selected Reading

C++ cmath sinh() Function



The C++ cmath sinh function computes the hyperbolic sine of a given angle in radians. Just like cosh(), sinh() is part of the hyperbolic function, which is similar to the trigonometric function but for a hyperbola.

This function is useful in various mathematical applications, including solving specific differential equations and exploring hyperbolic geometry. It accepts input values of data types such as double, float, or long double.

Syntax

Following is the syntax for C++ cmath sinh() function.

double sinh(double x);
or
float sinh(float x);
or
long double sinh(long double x);

Parameters

  • x - The value representing a hyperbolic angle.

Return Value

The function returns the hyperbolic sine of the specified angle, as a floating-point value. If the result is too large to be represented, the function returns HUGE_VAL (or HUGE_VALF or HUGE_VALL) with the correct sign, indicating an overflow error.

Time Complexity

The time complexity of this function is constant, i.e.,O(1).

Example 1

In this example, we will calculate the hyperbolic sine of a given angle measured in radians.

#include <iostream>
#include <cmath>
int main() {
   double value = 1.0;
   double result = sinh(value);
   std::cout << "The hyperbolic sine of " << value << " is " << result << std::endl;
   return 0;
}

Output

Output of the above code is as follows

The hyperbolic sine of 1 is 1.1752

Example 2

Let's calculate the hyperbolic sine of an angle after converting it from degrees to radians.

#include <iostream>
#include <cmath>
int main() {
   double angle_degrees = 45.0;
   double angle_radians = angle_degrees * (M_PI / 180.0);
   std::cout << "Hyperbolic sine of 45 degrees: " << std::sinh(angle_radians) << std::endl;
   return 0;
}

Output

Following is the output of the above code

Hyperbolic sine of 45 degrees: 0.868671

Example 3

In this example, we will use std::sinh in a loop to compute the hyperbolic sine values of angles ranging from 0 to 1.5 radians in increments of 0.3.

#include <iostream>
#include <cmath>
int main() {
   for (double angle = 0.0; angle <= 1.5; angle += 0.3) {
      std::cout << "Hyperbolic sine of " << angle << " radians: " << std::sinh(angle) << std::endl;
   }
   return 0;
}

Output

If we run the above code it will generate the following output

Hyperbolic sine of 0 radians: 0
Hyperbolic sine of 0.3 radians: 0.30452
Hyperbolic sine of 0.6 radians: 0.636654
Hyperbolic sine of 0.9 radians: 1.02652
Hyperbolic sine of 1.2 radians: 1.50946
Hyperbolic sine of 1.5 radians: 2.12928
cpp_cmath.htm
Advertisements