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

PythonのNumPyで複素数の偏角(角度)を度単位で取得する方法

Pythonで複素数の偏角(argument)を返すには、NumPyのnumpy.angle()メソッドを使用します。このメソッドは、複素平面上の正の実軸から反時計回りに測った角度を範囲 (-π, π] で返し、戻り値のデータ型は numpy.float64 です。

numpy.angle() の主なパラメータ

  • 第1引数(z): 複素数、または複素数を要素とする配列(シーケンス)
  • 第2引数(deg): True の場合は角度を度(°)で返し、False(デフォルト)の場合はラジアンで返します

それでは、実際にコードを使って手順を確認していきましょう。

手順1: 必要なライブラリをインポートする

まず、必要なライブラリをインポートします。

import numpy as np

手順2: array() メソッドで配列を作成する

次に、array() メソッドを使って複素数を含む配列を作成します。

arr = np.array([1.0, 1.0j, 1+1j])

手順3: 配列の情報を表示する

作成した配列を表示してみましょう。

print("Array...\n", arr)

続いて、配列のデータ型を確認します。

print("\nOur Array type...\n", arr.dtype)

配列の次元数を取得します。

print("\nOur Array Dimension...\n", arr.ndim)

さらに、配列の形状(shape)も確認しておきましょう。

print("\nOur Array Shape...\n", arr.shape)

手順4: numpy.angle() で偏角を度単位で取得する

numpy.angle() メソッドを使って複素数の偏角を求めます。このメソッドは、複素平面上の正の実軸から反時計回りの角度を範囲 (-π, π] で返し、データ型は numpy.float64 になります。ここでは deg = True を指定しているため、結果は度単位で出力されます。

print("\nResult...\n", np.angle(arr, deg = True))

完全なサンプルコード

import numpy as np

# array() メソッドで配列を作成
arr = np.array([1.0, 1.0j, 1+1j])

# 配列を表示
print("Array...\n", arr)

# 配列のデータ型を表示
print("\nOur Array type...\n", arr.dtype)

# 配列の次元数を表示
print("\nOur Array Dimension...\n", arr.ndim)

# 配列の形状を表示
print("\nOur Array Shape...\n", arr.shape)

# numpy.angle() メソッドで複素数の偏角を取得
# 正の実軸から反時計回りの角度を範囲 (-pi, pi] で返し、dtype は numpy.float64
print("\nResult...\n", np.angle(arr, deg = True))

実行結果

Array...
[1.+0.j 0.+1.j 1.+1.j]

Our Array type...
complex128

Our Array Dimension...
1

Our Array Shape...
(3,)

Result...
[ 0. 90. 45.]

結果の解説

出力結果を見ると、各要素の偏角が度単位で返されていることがわかります。

  • 1.0(実数)→ : 正の実軸上にあるため角度は0度
  • 1.0j(純虚数)→ 90°: 正の虚軸上にあるため90度
  • 1+1j45°: 実部と虚部が等しい複素数なので45度

このように、numpy.angle() を使えば、複素数や複素数配列の偏角を簡単に計算できます。信号処理やフーリエ解析など、複素数を扱う場面で非常に便利な関数ですので、ぜひ活用してください。

  1. Python・Pandasでインデックスのデータを表す配列を取得する方法(index.values)

    PandasのIndexオブジェクトに格納されているデータをNumPy配列として取得したい場合は、index.valuesプロパティを使用します。このプロパティは、インデックスの各要素を含む配列を返してくれるため、データの抽出や他の処理への受け渡しが簡単に行えます。 index.valuesプロパティの基本的な使い方 まず、必要なライブラリをインポートします。 import pandas as pd 次に、Indexオブジェクトを作成します。ここでは、交通手段の名前を要素とするインデックスを作成してみましょう。 index = pd.Index([Car,Bike,Truck,Ship,Air

  2. Pythonでサブ配列を1回反転するだけで配列がソートされるかどうかを判定する方法

    すべての要素がユニーク(重複なし)である配列 nums があるとします。この配列の部分配列(サブ配列)を1つだけ反転したとき、配列全体がソートされた状態になるかどうかを判定するのが本記事のテーマです。なお、配列がすでにソート済みの場合も True を返します。 たとえば、入力が nums = [4,6,27,25,15,9,37,42] の場合を考えてみましょう。[27,25,15,9] の部分を反転すると [4,6,9,15,25,27,37,42] となり、配列全体が昇順に整列します。したがって、この場合の出力は True になります。 アルゴリズムのアプローチ この問題は、配列を一