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

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

sinh()関数とは

sinh()関数は、ラジアンで指定された値の双曲線正弦(ハイパボリックサイン)を返す関数です。C++のSTL(標準テンプレートライブラリ)に組み込まれており、<cmath>ヘッダをインクルードすることで利用できます。

双曲線正弦は、以下の数式で定義されます。

sinh(x) = (e^x − e^−x) / 2

sinh()関数の構文

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

sinh(var)

構文からわかるように、sinh()関数はfloat型、double型、long double型のいずれかのパラメータvarを受け取ります。戻り値は、varの双曲線正弦です。

sinh()関数の基本的な使用例

C++でsinh()関数を使用する基本的なプログラムを以下に示します。

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

出力

sinh(5) = 74.2032

上記のプログラムでは、まず変数dを初期化しています。次に、sinh()関数を使ってdの双曲線正弦を求め、変数ansに格納します。最後に、ansの値を標準出力に表示します。この流れを以下のコードスニペットに示します。

double d = 5, ans;
ans = sinh(d);
cout << "sinh(" << d << ") = " << ans << endl;

度数法の値をsinh()関数で扱う方法

sinh()関数はラジアンで指定された角度の双曲線正弦を返すため、値が度数法(度)で与えられた場合は、sinh()関数を使う前にラジアンへ変換する必要があります。変換は以下の式で行います。

ラジアン = 度 × π / 180

この動作を示すプログラムは以下のとおりです。

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

出力

sinh(1.0472) = 1.24937

上記のプログラムでは、値が度数法(60度)で与えられています。そのため、まず「degree * 3.14159 / 180」でラジアンに変換し、その後sinh()関数を使って双曲線正弦を求めています。最後に、結果を表示します。この処理は以下のコードスニペットで示されます。

double degree = 60, ans;
degree = degree * 3.14159/180;
ans = sinh(degree);
cout << "sinh(" << degree << ") = " << ans << endl;

まとめ

sinh()関数は、<cmath>ヘッダで提供される双曲線関数の一つで、ラジアンで指定した値の双曲線正弦を返します。度数法の値を扱う場合は、事前にラジアンへ変換することを忘れないようにしましょう。なお、同様の双曲線関数として、cosh()(双曲線余弦)やtanh()(双曲線正接)なども用意されています。

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

    atanh()関数は、引数として与えられた値の逆双曲線正接(アークハイパボリックタンジェント)を返す数学関数です。C++の標準テンプレートライブラリ(STL)に組み込まれており、<cmath>ヘッダーをインクルードすることで利用できます。atanh()関数の構文は以下のとおりです。atanh(var)構文からわかるように、atanh()関数はfloat型、double型、またはlong double型のパラメータvarを受け取ります。このパラメータには-1以上1以下の値を指定する必要があります。戻り値として、varの逆双曲線正接が返されます。なお、引数が-1未満または1より大きい場

  2. C++ STLのcosh()関数とは?双曲線余弦の求め方をサンプルコード付きで解説

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