C++で複素数を扱うpolar()関数の使い方
C++のpolar()関数は、複素数の極形式(大きさと位相角)から複素数を生成するための関数です。数学的には、指定された大きさ(絶対値)と偏角をもとに、mag × cos(phase) + i × mag × sin(phase) という形の複素数を返します。
この関数はC++の <complex> ヘッダーファイルで定義されており、複素数の大きさと位相角を引数として受け取り、それらの値に対応する複素数オブジェクトを生成します。
構文
polar(mag, phase);
パラメータ − 生成したい複素数の「大きさ(mag)」と「位相角(phase)」の2つの値を引数として受け取ります。
戻り値 − 指定された大きさと位相角に対応する複素数を返します。
polar(0.2, 0.5)
-> (0.175517, 0.0958851)
使用例
以下のコードでは、異なる大きさと位相角の組み合わせに対してpolar()関数を呼び出し、その結果を出力しています。
#include<iostream>
#include<complex>
using namespace std;
int main () {
cout<<"\t\tRUN 1\n";
cout<<"Complex number with magnitude: 5.2 and phase angle: 1.6 is ";
cout<<polar(5.2,1.6)<<endl;
cout<<"\t\tRUN 2\n";
cout<<"Complex number with magnitude: 0.5 and phase angle: 0.2 is ";
cout<<polar(0.5,0.2)<<endl;
cout<<"\t\tRUN 3\n";
cout<<"Complex number with magnitude: 0.2 and phase angle: 0.5 is ";
cout<<polar(0.2,0.5)<<endl;
return 0;
}
出力
RUN 1
Complex number with magnitude: 5.2 and phase angle: 1.6 is (-0.151838,5.19778)
RUN 2
Complex number with magnitude: 0.5 and phase angle: 0.2 is (0.490033,0.0993347)
RUN 3
Complex number with magnitude: 0.2 and phase angle: 0.5 is (0.175517,0.0958851)
出力結果を見ると、各実行ごとに大きさと位相角から計算された複素数が(実部,虚部)の形式で表示されていることがわかります。例えばRUN 1では、大きさ5.2・位相角1.6ラジアンという極形式の情報が、直交形式の複素数 (-0.151838, 5.19778) に変換されています。
-
C++で複素数の逆正弦(アークサイン)を求める:asin()関数の使い方
本記事では、C++において複素数に対してasin()関数を使用する方法を解説します。C++では、<complex>ヘッダーファイルをインクルードすることで複素数を扱うことができます。実は、このヘッダーファイルには複素数専用のasin()関数も用意されています。これは通常のasin()関数の複素数版であり、複素数の逆正弦(アークサイン)を求めるために使用されます。関数の基本仕様複素数版のasin()関数は、入力パラメータとして複素数を受け取り、その逆正弦(アークサイン)の計算結果を複素数として返します。戻り値もまた複素数となる点に注意してください。サンプルコード以下の例を見て、具体的
-
C++の複素数に対するacos()関数の使い方を解説
複素数のacos()関数とはここでは、複素数に対するacos()メソッドについて解説します。C++では、<complex>ヘッダーファイルをインクルードすることで複素数を扱うことができます。このヘッダーには、複素数専用のacos()関数も用意されています。これは、通常のacos()関数(実数用の逆余弦関数)を複素数に対応させたバージョンであり、複素数の逆余弦(アークコサイン)を求めるために使用されます。この関数は、複素数を入力パラメーターとして受け取り、その逆余弦を複素数として返します。具体的なイメージをつかむために、以下のサンプルコードを見てみましょう。サンプルコード#inclu