C++における複素数のlog10()関数:使い方・構文・実行例を解説
この記事では、C++ STLで提供されているlog10()関数について、その動作の仕組み、構文、そして具体的な使用例をわかりやすく解説します。
log10()関数とは?
log10()関数は、C++ STLに標準で組み込まれている関数であり、<complex>ヘッダーファイル内で定義されています。この関数は、複素数の常用対数(底が10の対数)を求めるために使用されます。引数として渡された複素数 num の、底10の複素対数値を complex 型として返します。
なお、複素数に対する対数は多価関数ですが、C++の log10() は主値(principal value)を返す仕様になっています。虚部の範囲は一般的に (-π, π] の範囲に正規化されます。
構文
template<class T> complex<T> log10(const complex<T>& num);
パラメータ
この関数は1つのパラメータ num を受け取ります。これは、常用対数を求めたい対象となる複素数の値です。
戻り値
引数 num に対して計算された、底10の複素対数値(complex型)を返します。
使用例
入力: complex<double> C_number(-4.0, -1.0);
Log10(C_number);
出力: log10 of (-4,-1) is (0.615224,-1.25798)サンプルコード①
#include <bits/stdc++.h>
using namespace std;
int main() {
complex<double> C_number(-4.0, -1.0);
cout<<"log10 of "<< C_number<< " is "<<log10(C_number);
return 0;
}出力
上記のコードを実行すると、以下の出力が得られます。
log10 of (-4,-1) is (0.615224,-1.25798)
サンプルコード②
今度は虚部の符号を反転させた複素数 (-4.0, 1.0) を渡してみます。
#include <bits/stdc++.h>
using namespace std;
int main() {
complex<double> C_number(-4.0, 1.0);
cout<<"log10 of "<< C_number<< " is "<<log10(C_number);
return 0;
}出力
上記のコードを実行すると、以下の出力が得られます。
log10 of (-4,1) is (0.615224,1.25798)
まとめ
C++の log10() 関数を使えば、複素数に対する常用対数(底10の対数)を簡単に求めることができます。実部と虚部を持つ複素数を引数に渡すだけで、結果が complex 型で返されるため、数学的な計算や信号処理などの分野で非常に便利です。共役な複素数同士(虚部の符号だけが異なるペア)を渡すと、実部は同じ値になり、虚部の符号が反転した結果が得られることも、上記の2つのサンプルコードから確認できます。
-
C++で複素数の逆正弦(アークサイン)を求める:asin()関数の使い方
本記事では、C++において複素数に対してasin()関数を使用する方法を解説します。C++では、<complex>ヘッダーファイルをインクルードすることで複素数を扱うことができます。実は、このヘッダーファイルには複素数専用のasin()関数も用意されています。これは通常のasin()関数の複素数版であり、複素数の逆正弦(アークサイン)を求めるために使用されます。関数の基本仕様複素数版のasin()関数は、入力パラメータとして複素数を受け取り、その逆正弦(アークサイン)の計算結果を複素数として返します。戻り値もまた複素数となる点に注意してください。サンプルコード以下の例を見て、具体的
-
C++の複素数に対するacos()関数の使い方を解説
複素数のacos()関数とはここでは、複素数に対するacos()メソッドについて解説します。C++では、<complex>ヘッダーファイルをインクルードすることで複素数を扱うことができます。このヘッダーには、複素数専用のacos()関数も用意されています。これは、通常のacos()関数(実数用の逆余弦関数)を複素数に対応させたバージョンであり、複素数の逆余弦(アークコサイン)を求めるために使用されます。この関数は、複素数を入力パラメーターとして受け取り、その逆余弦を複素数として返します。具体的なイメージをつかむために、以下のサンプルコードを見てみましょう。サンプルコード#inclu