Maison  >  Article  >  développement back-end  >  Programme C++ pour trouver la valeur de la fonction sinus hyperbolique inverse en prenant une valeur donnée comme argument

Programme C++ pour trouver la valeur de la fonction sinus hyperbolique inverse en prenant une valeur donnée comme argument

WBOY
WBOYavant
2023-09-17 10:49:02705parcourir

Programme C++ pour trouver la valeur de la fonction sinus hyperbolique inverse en prenant une valeur donnée comme argument

Les fonctions hyperboliques sont définies à l'aide d'hyperboles au lieu de cercles et sont équivalentes aux fonctions trigonométriques ordinaires. Il renvoie le paramètre de rapport dans la fonction sinus hyperbolique à partir de l'angle fourni en radians. Mais faites le contraire, ou en d’autres termes. Si nous voulons calculer un angle à partir d’un sinus hyperbolique, nous avons besoin d’une opération trigonométrique hyperbolique inverse comme l’opération sinus hyperbolique inverse.

Ce cours démontrera comment utiliser la fonction sinus hyperbolique inverse (asinh) en C++ pour calculer des angles en utilisant la valeur du sinus hyperbolique en radians. L'opération arc sinus hyperbolique suit la formule suivante -

$$mathrm{sinh^{-1}x:=:In(x:+:sqrt{x^2:+:1})}, où :In:is:logarithme naturel :(log_e : k)$ $

Fonction asinh()

Basé sur le sinus hyperbolique, l'angle peut être calculé à l'aide de la fonction asinh(). Cette fonction est fournie avec la bibliothèque standard C++. Avant d'utiliser cette fonction, nous devons importer la bibliothèque cmath. Cette méthode renvoie l'angle en radians et prend la valeur sinusoïdale comme argument. Ce qui suit utilise une syntaxe simple -

Grammaire

#include < cmath >
asinh( <hyperbolic sine value> )

Algorithme

  • Prendre la valeur sinusoïdale hyperbolique x comme entrée
  • Utilisez asinh(x) pour calculer sinh−1(x)
  • Retour des résultats.

Exemple

#include <iostream>
#include <cmath>
using namespace std;

float solve( float x ) {
   float answer;
   answer = asinh( x );
   return answer;
}

int main()
{
   float angle, ang_deg;
   angle = solve( 2.3013 );
   ang_deg = angle * 180 / 3.14159;

   cout << "The angle (in radian) for given hyperbolic sine value 2.3013 is: " << angle << " = " << ang_deg << " (in degrees)" << endl;

   angle = solve( 11.5487 );
   ang_deg = angle * 180 / 3.14159;

   cout << "The angle (in radian) for given hyperbolic sine value 11.5487 is: " << angle << " = " << ang_deg << " (in degrees)" << endl;

   angle = solve( 0.86867 );
   ang_deg = angle * 180 / 3.14159;

   cout << "The angle (in radian) for given hyperbolic sine value 0.86867 is: " << angle << " = " << ang_deg << " (in degrees)" << endl;

   angle = solve( -0.86867 );
   ang_deg = angle * 180 / 3.14159;

   cout << "The angle (in radian) for given hyperbolic sine value - 0.86867 is: " << angle << " = " << ang_deg << " (in degrees)" << endl;
}

Sortie

The angle (in radian) for given hyperbolic sine value 2.3013 is: 1.5708 = 90.0001 (in degrees)
The angle (in radian) for given hyperbolic sine value 11.5487 is: 3.14159 = 180 (in degrees)
The angle (in radian) for given hyperbolic sine value 0.86867 is: 0.785397 = 45 (in degrees)
The angle (in radian) for given hyperbolic sine value - 0.86867 is: -0.785397 = -45 (in degrees)
La méthode

asinh() dans ce cas reçoit la valeur du sinus hyperbolique et renvoie l'angle au format radian. Nous convertissons cette sortie de radians en degrés en utilisant la formule ci-dessous.

$$mathrm{theta_{deg}:=:theta_{rad}:timesfrac{180}{pi}}$$

Conclusion

Pour effectuer des opérations hyperboliques inverses en utilisant des valeurs sinusoïdales, nous utilisons la fonction asinh() du package cmath. Après avoir reçu une valeur sinusoïdale hyperbolique en entrée, la fonction génère l'angle souhaité en radians. Dans les anciennes versions de C et C++, le type de retour est double ; les versions ultérieures de C++ utilisent également des formes surchargées de float et long-double. Lorsqu'une valeur entière est passée en argument, la fonction asinh() est appelée après avoir converti l'argument d'entrée en type double.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer