C++ STLのcosh()関数とは?双曲線余弦の求め方をサンプルコード付きで解説
cosh()関数とは?
C++のSTLに組み込まれているcosh()関数は、ラジアン単位で与えられた角度の双曲線余弦(ハイパボリック・コサイン)を計算して返す関数です。使用するには、<cmath>ヘッダーをインクルードする必要があります。
双曲線余弦は、数学的に次の式で定義されます。
cosh(x) = (e^x + e^(-x)) / 2
構文
cosh()関数の構文は以下の通りです。
cosh(var)
構文から分かるように、cosh()関数はfloat型、double型、long double型のいずれかの引数varを受け取ります。そして、その双曲線余弦を返します。なお、引数の型に応じて戻り値の型も変化し、float型の引数にはfloat型、long double型の引数にはlong double型の値が返されます。
cosh()関数の基本的な使用例
以下は、C++でcosh()関数を使用するプログラムの例です。
例
#include <iostream>
#include <cmath>
using namespace std;
int main() {
double d = 5, ans;
ans = cosh(d);
cout << "cosh(" << d << ") = " << ans << endl;
return 0;
}
出力結果
cosh(5) = 74.2099
このプログラムでは、まず変数dを初期化しています。次に、cosh()関数を使ってdの双曲線余弦を求め、変数ansに格納します。最後に、ansの値を出力しています。この一連の処理は、以下のコード部分で行われています。
double d = 5, ans;
ans = cosh(d);
cout << "cosh(" << d << ") = " << ans << endl;
角度が「度」で与えられた場合の扱い方
cosh()関数はラジアン単位の角度を前提としているため、値が「度(degree)」で与えられた場合は、あらかじめラジアンに変換してから関数に渡す必要があります。この変換方法を実演するプログラムは以下の通りです。
例
#include <iostream>
#include <cmath>
using namespace std;
int main() {
double degree = 60, ans;
degree = degree * 3.14159 / 180;
ans = cosh(degree);
cout << "cosh(" << degree << ") = " << ans << endl;
return 0;
}
出力結果
cosh(1.0472) = 1.60029
このプログラムでは、値が「度」で与えられているため、まず「度 × π / 180」という式でラジアンに変換しています。その後、cosh()関数を使って双曲線余弦を求め、最後に結果を出力しています。該当する処理は、以下のコード部分です。
double degree = 60, ans;
degree = degree * 3.14159 / 180;
ans = cosh(degree);
cout << "cosh(" << degree << ") = " << ans << endl;
まとめ
cosh()関数は、ラジアン単位の角度に対する双曲線余弦を簡単に求められる便利な組み込み関数です。引数にはfloat型、double型、long double型を指定でき、度数法の値を扱う場合は、π/180を掛けてラジアンへ変換してから渡す点に注意しましょう。
-
C++ STLのatanh()関数とは?逆双曲線正接の計算方法を解説
atanh()関数は、引数として与えられた値の逆双曲線正接(アークハイパボリックタンジェント)を返す数学関数です。C++の標準テンプレートライブラリ(STL)に組み込まれており、<cmath>ヘッダーをインクルードすることで利用できます。atanh()関数の構文は以下のとおりです。atanh(var)構文からわかるように、atanh()関数はfloat型、double型、またはlong double型のパラメータvarを受け取ります。このパラメータには-1以上1以下の値を指定する必要があります。戻り値として、varの逆双曲線正接が返されます。なお、引数が-1未満または1より大きい場
-
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