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

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>などの複素数型を指定する
  • 戻り値も同じく複素数型で返される
  • 実部と虚部それぞれに対し三角関数・双曲線関数を組み合わせた公式で計算される
  1. C++の複素数に対するacos()関数の使い方を解説

    複素数のacos()関数とはここでは、複素数に対するacos()メソッドについて解説します。C++では、<complex>ヘッダーファイルをインクルードすることで複素数を扱うことができます。このヘッダーには、複素数専用のacos()関数も用意されています。これは、通常のacos()関数(実数用の逆余弦関数)を複素数に対応させたバージョンであり、複素数の逆余弦(アークコサイン)を求めるために使用されます。この関数は、複素数を入力パラメーターとして受け取り、その逆余弦を複素数として返します。具体的なイメージをつかむために、以下のサンプルコードを見てみましょう。サンプルコード#inclu

  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