C++で複素数のsinh()関数を使う方法|構文とコード例を解説
C++において複素数の双曲線正弦(ハイパボリックサイン)を求めるには、<complex>ヘッダに定義されているsinh()関数を使用します。つまり、複素数に対してsinh()の値を計算したい場合は、コードに<complex>ヘッダをインクルードする必要があります。この関数は、複素数の複素双曲線正弦を計算するために使われます。
構文
template<class T> complex<T> sinh(const complex<T>& x);
パラメータ
引数xには任意の複素数を指定できます。このパラメータはsinh()関数の定義の中で必須と定められているため、必ず渡す必要があります。
戻り値
入力が複素数であるため、この関数はsinh()の計算結果を複素数値として返します。
入力: sinh(0, 1)
出力: (0, 0.84147)
入力: sinh(1, 9)
出力: (-1.0707, 0.6359)
数学的な背景
参考までに、複素数 z = a + bi に対する双曲線正弦は、次の公式で表されます。
sinh(z) = sinh(a) × cos(b) + i × cosh(a) × sin(b)
この式に基づいて計算が行われるため、たとえば虚部だけの入力 sinh(0, 1) は sin(1) に相当する値 (0, 0.84147) を返します。
使用例1
#include <iostream>
#include <complex>
using namespace std;
int main() {
complex<double> x(2, 7);
cout << "The sinh of " << x << " = " << sinh(x) << endl;
return 0;
}
出力
上記のコードを実行すると、次のような出力が得られます。
The sinh of (2,7) = (2.734, 2.4717)
使用例2
#include <iostream>
#include <complex>
using namespace std;
int main() {
complex<double> x(5, 3);
cout << "The sinh of " << x << " = " << sinh(x) << endl;
return 0;
}
出力
上記のコードを実行すると、次のような出力が得られます。
The sinh of (5,3) = (-73.4606, 10.4725)
まとめ
複素数版のsinh()関数を使う際のポイントは以下の通りです。
<complex>ヘッダをインクルードする必要がある- 引数には
complex<double>などの複素数型を指定する - 戻り値も同じく複素数型で返される
- 実部と虚部それぞれに対し三角関数・双曲線関数を組み合わせた公式で計算される
-
C++の複素数に対するacos()関数の使い方を解説
複素数のacos()関数とはここでは、複素数に対するacos()メソッドについて解説します。C++では、<complex>ヘッダーファイルをインクルードすることで複素数を扱うことができます。このヘッダーには、複素数専用のacos()関数も用意されています。これは、通常のacos()関数(実数用の逆余弦関数)を複素数に対応させたバージョンであり、複素数の逆余弦(アークコサイン)を求めるために使用されます。この関数は、複素数を入力パラメーターとして受け取り、その逆余弦を複素数として返します。具体的なイメージをつかむために、以下のサンプルコードを見てみましょう。サンプルコード#inclu
-
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