【C++】複素数の絶対値を求めるabs()関数の使い方を解説
C++のabs()関数は、複素数の絶対値(絶対値)を求めるために使用される関数です。複素数の絶対値は「モジュラス」とも呼ばれ、複素平面上において、その複素数が示す点が原点からどれだけ離れているかを表す距離に相当します。
複素数の絶対値の計算式
複素数 a + bi の絶対値は、以下の公式によって求められます。
|a + bi| = √(a2 + b2)
つまり、実部と虚部をそれぞれ2乗して足し合わせ、その平方根を取ることで絶対値が得られます。C++では、この一連の計算をabs()関数が自動的に行い、その結果を返してくれます。
なお、複素数用のabs()関数は <complex> ヘッダ内で定義されているため、プログラムで使用する際には必ずこのヘッダをインクルードする必要があります。
abs()関数を使用したサンプルプログラム
以下は、C++で複素数に対してabs()関数を使用し、絶対値を求めるサンプルプログラムです。
#include <iostream>
#include <complex>
using namespace std;
int main () {
float a = 13.0, b = 5.0;
complex<double> complexnumber(a, b);
cout << "The absolute value of " << a << "+" << b << "i" << " is: ";
cout << abs(complexnumber) << endl;
return 0;
}実行結果
The absolute value of 13+5i is: 13.9284
プログラムの解説
このプログラムでは、実部が13.0、虚部が5.0の複素数「13 + 5i」を作成しています。complex<double> 型のオブジェクトとして宣言することで、標準ライブラリの複素数機能を利用できます。
abs()関数にこの複素数を渡すと、内部で次のような計算が行われます。
|13 + 5i| = √(132 + 52) = √(169 + 25) = √194 ≒ 13.9284
このように、abs()関数を使えば複雑な平方根の計算を自分で実装する必要がなく、1行で正確な絶対値を取得できるのが大きなメリットです。科学技術計算や信号処理など、複素数を扱う場面で非常に役立つ関数といえます。
-
C++で複素数の逆正弦(アークサイン)を求める:asin()関数の使い方
本記事では、C++において複素数に対してasin()関数を使用する方法を解説します。C++では、<complex>ヘッダーファイルをインクルードすることで複素数を扱うことができます。実は、このヘッダーファイルには複素数専用のasin()関数も用意されています。これは通常のasin()関数の複素数版であり、複素数の逆正弦(アークサイン)を求めるために使用されます。関数の基本仕様複素数版のasin()関数は、入力パラメータとして複素数を受け取り、その逆正弦(アークサイン)の計算結果を複素数として返します。戻り値もまた複素数となる点に注意してください。サンプルコード以下の例を見て、具体的
-
C++の複素数に対するacos()関数の使い方を解説
複素数のacos()関数とはここでは、複素数に対するacos()メソッドについて解説します。C++では、<complex>ヘッダーファイルをインクルードすることで複素数を扱うことができます。このヘッダーには、複素数専用のacos()関数も用意されています。これは、通常のacos()関数(実数用の逆余弦関数)を複素数に対応させたバージョンであり、複素数の逆余弦(アークコサイン)を求めるために使用されます。この関数は、複素数を入力パラメーターとして受け取り、その逆余弦を複素数として返します。具体的なイメージをつかむために、以下のサンプルコードを見てみましょう。サンプルコード#inclu