C++における複素数のcosh()関数の動作と使い方
この記事では、C++において複素数に対するcosh()関数がどのように動作するのかを解説します。
cosh()関数とは
cosh()関数はC++標準テンプレートライブラリ(STL)の一部ですが、通常のcosh()関数とは少し異なる動作をします。標準のcosh()関数がラジアン単位の角度の双曲線余弦(ハイパボリックコサイン)を計算するのに対し、こちらは複素数の複素双曲線余弦の値を計算します。
複素双曲線余弦を求めるための数学的な定義式は次のとおりです。
cosh(z) = (e^z + e^-z) / 2
ここで、「z」は複素数を、「i」は虚数単位(イオタ)を表します。
複素数は次のように宣言します。
complex<double> name(a,b)
「complex」データ型に付いた<double>は、double型のオブジェクトの組(順序対)を格納するオブジェクトであることを示しています。この2つのオブジェクトが、入力したい複素数の実部と虚部に対応します。なお、複素数用の関数を呼び出すには、<complex>ヘッダーファイルをインクルードする必要があります。
構文
構文は次のとおりです。
cosh(complexnumber)
例
入力: complexnumber(5,5) 出力: <-27.0349,-3.85115>
説明 − 上の例は、cosh()関数を使って複素数の複素双曲線余弦の値を計算する方法を示しています。入力にあるように、最初の5が実部、もう一方の5が虚部です。この複素数をcosh()関数に渡すことで、出力として双曲線余弦の値が得られます。
以下のプログラムで使用しているアプローチは次のとおりです。
- まず複素数(例:complexnumber(a,b))を宣言し、複素数の値を代入します。
- 変数complexnumber(a,b)には2つの値を代入します。1つ目の値が複素数の実部、2つ目の値が虚部となります。
たとえばcomplexnumber(1, 3)とすれば、これは複素数1+3iを表します。 - 作成したcomplexnumber(1, 3)をcosh()関数に渡します。
サンプルコード
#include<iostream>
#include<complex>
using namespace std;
int main() {
complex<double> cno(1,3);
cout<<cosh(cno);
return 0;
}
出力
上記のコードを実行すると、次のような出力が生成されます。
<-1.52764,0.165844>
ここでは1が実部、3が虚部です。この複素数をcosh()関数に渡すと、出力に示したように双曲線余弦の値が得られます。
-
C++の複素数に対するacos()関数の使い方を解説
複素数のacos()関数とはここでは、複素数に対するacos()メソッドについて解説します。C++では、<complex>ヘッダーファイルをインクルードすることで複素数を扱うことができます。このヘッダーには、複素数専用のacos()関数も用意されています。これは、通常のacos()関数(実数用の逆余弦関数)を複素数に対応させたバージョンであり、複素数の逆余弦(アークコサイン)を求めるために使用されます。この関数は、複素数を入力パラメーターとして受け取り、その逆余弦を複素数として返します。具体的なイメージをつかむために、以下のサンプルコードを見てみましょう。サンプルコード#inclu
-
C++ STLのcosh()関数とは?双曲線余弦の求め方をサンプルコード付きで解説
cosh()関数とは? C++のSTLに組み込まれているcosh()関数は、ラジアン単位で与えられた角度の双曲線余弦(ハイパボリック・コサイン)を計算して返す関数です。使用するには、<cmath>ヘッダーをインクルードする必要があります。 双曲線余弦は、数学的に次の式で定義されます。 cosh(x) = (e^x + e^(-x)) / 2 構文 cosh()関数の構文は以下の通りです。 cosh(var) 構文から分かるように、cosh()関数はfloat型、double型、long double型のいずれかの引数varを受け取ります。そして、その双曲線余弦を返します。なお、引