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

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つのサンプルコードから確認できます。

  1. C++で複素数の逆正弦(アークサイン)を求める:asin()関数の使い方

    本記事では、C++において複素数に対してasin()関数を使用する方法を解説します。C++では、<complex>ヘッダーファイルをインクルードすることで複素数を扱うことができます。実は、このヘッダーファイルには複素数専用のasin()関数も用意されています。これは通常のasin()関数の複素数版であり、複素数の逆正弦(アークサイン)を求めるために使用されます。関数の基本仕様複素数版のasin()関数は、入力パラメータとして複素数を受け取り、その逆正弦(アークサイン)の計算結果を複素数として返します。戻り値もまた複素数となる点に注意してください。サンプルコード以下の例を見て、具体的

  2. C++の複素数に対するacos()関数の使い方を解説

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