C++
 Computer >> コンピューター >  >> プログラミング >> C++

C++ STLのatanh()関数とは?逆双曲線正接の計算方法を解説

atanh()関数は、引数として与えられた値の逆双曲線正接(アークハイパボリックタンジェント)を返す数学関数です。C++の標準テンプレートライブラリ(STL)に組み込まれており、<cmath>ヘッダーをインクルードすることで利用できます。

atanh()関数の構文は以下のとおりです。

atanh(var)

構文からわかるように、atanh()関数はfloat型、double型、またはlong double型のパラメータvarを受け取ります。このパラメータには-1以上1以下の値を指定する必要があります。戻り値として、varの逆双曲線正接が返されます。

なお、引数が-1未満または1より大きい場合は定義域エラー(domain error)が発生するため、入力値の範囲には注意が必要です。

以下に、C++でatanh()を使用するプログラムの例を示します。

#include <iostream>
#include <cmath>
using namespace std;
int main() {
   double d = 0.5, ans;
   ans = atanh(d);
   cout << "atanh("<< d <<") = " << ans << endl;
   return 0;
}

出力

atanh(0.5) = 0.549306

上記のプログラムでは、まず変数dを0.5で初期化しています。次に、atanh()関数を使ってdの逆双曲線正接を求め、結果を変数ansに格納します。最後に、ansの値を出力しています。この処理を示したコードスニペットは以下のとおりです。

double d = 0.5, ans;
ans = atanh(d);
cout << "atanh("<< d <<") = " << ans << endl;

atanh()関数で得られる結果はラジアン単位ですが、度数法(デグリー)に変換して表示することも可能です。その例を示すプログラムは以下のとおりです。

#include <iostream>
#include <cmath>
using namespace std;
int main() {
   double d = 0.5, ans;
   ans = atanh(d);
   ans = ans*180/3.14159;
   cout << "atanh("<<d <<") = " << ans << endl;
   return 0;
}

出力

atanh(0.5) = 31.473

上記のプログラムでは、まずatanh()関数を使って逆双曲線正接を求めています。その後、得られた値に180/πを掛けることでラジアンから度へ変換し、最終的な結果を出力しています。該当するコード部分は以下のとおりです。

double d = 0.5, ans;
ans = atanh(d);
ans = ans*180/3.14159;
cout << "atanh("<< d <<") = " << ans << endl;
  1. C++ STLのcosh()関数とは?双曲線余弦の求め方をサンプルコード付きで解説

    cosh()関数とは? C++のSTLに組み込まれているcosh()関数は、ラジアン単位で与えられた角度の双曲線余弦(ハイパボリック・コサイン)を計算して返す関数です。使用するには、<cmath>ヘッダーをインクルードする必要があります。 双曲線余弦は、数学的に次の式で定義されます。 cosh(x) = (e^x + e^(-x)) / 2 構文 cosh()関数の構文は以下の通りです。 cosh(var) 構文から分かるように、cosh()関数はfloat型、double型、long double型のいずれかの引数varを受け取ります。そして、その双曲線余弦を返します。なお、引

  2. C++ STLのsinh()関数の使い方を徹底解説

    sinh()関数とはsinh()関数は、ラジアンで指定された値の双曲線正弦(ハイパボリックサイン)を返す関数です。C++のSTL(標準テンプレートライブラリ)に組み込まれており、<cmath>ヘッダをインクルードすることで利用できます。双曲線正弦は、以下の数式で定義されます。sinh(x) = (e^x − e^−x) / 2sinh()関数の構文sinh()関数の構文は以下のとおりです。sinh(var)構文からわかるように、sinh()関数はfloat型、double型、long double型のいずれかのパラメータvarを受け取ります。戻り値は、varの双曲線正弦です。sin