COHERENT manpages
This page displays the COHERENT manpage for cosh() [Calculate hyperbolic cosine].
List of available manpages
Index
cosh() -- Mathematics Function (libm)
Calculate hyperbolic cosine
#include <math.h>
double cosh(radian) double radian;
cosh() calculates the hyperbolic cosine of radian, which is in radian
measure.
Example
The following example uses cosh() to compute the height and time to impact
of a falling object. Assume that an object is acted on both by gravity and
by air resistance propotional to v2, where v is its velocity. When p is
the proptionality constant for the resistance of air, the object's height
after t seconds is given by the formula
y = y0 -1/p*ln(cosh(t*sqrt(p*g)))
and its time to reach the ground is given by the formula:
t = 1/sqrt(p*g)*log(exp(p*y0)+sqrt(exp(2*p*y0)-1))
Assuming that
g = 32 ft/s2
the example computes an object's height after t seconds and the total time
in seconds that it will take to reach the ground. It was written by Sanjay
Lal (sanjayl@tor.comm.mot.com):
#include <stdio.h>
#include <math.h>
#include <stdlib.h>
main ()
{
float height, init_height, resistance, time_to_hit, g;
int i;
char buffer[50];
g = 32.0;
printf("Enter initial height, in feet: ");
fflush(stdout);
init_height = atof(gets(buffer));
resistance = 0.0;
while (resistance > 0.005 || resistance < 0.001) {
printf("Enter air resistance (0.001 to 0.005): ");
fflush(stdout);
resistance = atof(gets(buffer));
}
time_to_hit = 1.0/sqrt(resistance*g) *
log(exp(resistance*init_height) +
sqrt(exp(2*resistance*init_height)-1));
printf("Initial height: %1.0f\n", init_height);
printf("Air resistance: %1.3f\n", resistance);
printf("Time for object to hit the ground: %1.3f seconds\n",
time_to_hit);
/* countdown to impact */
for (i = 2; ; i++) {
height = init_height -
(1.0/resistance*log(cosh(sqrt(resistance*g)*(double)i)));
if (height < 0) {
printf("BOOM!\n");
exit(EXIT_SUCCESS);
} else
printf("Height after %i seconds: %1.3f feet\n", i, height );
}
}
See Also
libm,
cos()
ANSI Standard, §7.5.3.1
POSIX Standard, §8.1
Diagnostics
When overflow occurs, cosh() returns a huge value that has the same sign as
the actual result.






