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

PythonのNumPyで三角関数の逆正弦(arcsin)を求める方法

逆正弦(arcsin)は多価関数です。つまり、各 x に対して sin(z) = x を満たす数 z は無限に存在します。NumPyでは、実部が [-π/2, π/2] の範囲に収まる角度 z を返すという規約に従います。実数型の入力に対しては、arcsinは常に実数の出力を返します。実数や無限大として表現できない値が入力された場合には nan を返し、浮動小数点の不正エラーフラグを設定します。

複素数の入力に対しては、arcsinは複素解析関数として扱われ、慣例的に [-∞, -1] と [1, ∞] に分枝切断(branch cut)を持ち、前者には上側から、後者には下側から連続となります。なお、逆正弦は asin や sin-1 とも呼ばれます。

numpy.arcsin()メソッドとは

Pythonで三角関数の逆正弦を求めるには、NumPyの numpy.arcsin() メソッドを使用します。このメソッドは、第1引数 x の各要素に対する逆正弦を返し、x がスカラーであれば結果もスカラーになります。

  • 第1引数(x):単位円上の y 座標に相当する値です。
  • 第2引数(out・任意):結果を格納するndarrayの場所を指定します。指定する場合は、入力がブロードキャストされる形状と一致している必要があります。指定しない場合や None の場合は、新しく確保された配列が返されます。タプルを指定できるのはキーワード引数としてのみで、その長さは出力の数と一致しなければなりません。
  • 第3引数(where・任意):条件は入力全体にブロードキャストされます。条件が True の位置では out 配列にufuncの結果が設定され、それ以外の位置では out 配列は元の値を保持します。

手順

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

import numpy as np

次に、np.arcsin() を使って逆正弦を求めます。まずは π/2 に対応する値(1)の場合です。

print("\nResult...", np.arcsin(1))

同様に、-π/2 に対応する値(-1)の場合です。

print("\nResult...", np.arcsin(-1))

0 の場合です。

print("\nResult...", np.arcsin(0))

0.3 の場合です。

print("\nResult...", np.arcsin(0.3))

サンプルコード

import numpy as np

# arcsinは多価関数:各xに対してsin(z) = xとなるzは無限に存在する。
# NumPyでは実部が[-pi/2, pi/2]に収まる角度zを返すのが規約。

print("Get the Trigonometric inverse sine...")

# pi/2に対応するarcsinを求める
print("\nResult...", np.arcsin(1))

# -pi/2に対応するarcsinを求める
print("\nResult...", np.arcsin(-1))

# 0のarcsinを求める
print("\nResult...", np.arcsin(0))

# 0.3のarcsinを求める
print("\nResult...", np.arcsin(0.3))

実行結果

Get the Trigonometric inverse sine...

Result... 1.5707963267948966

Result... -1.5707963267948966

Result... 0.0

Result... 0.3046926540153975

出力を見ると、np.arcsin(1) は π/2(約1.5708)、np.arcsin(-1) は -π/2、np.arcsin(0) は 0.0 を返しており、数学的な定義と一致していることがわかります。

  1. Python Pandas - 期間(Period)の秒コンポーネントを取得する方法

    PandasのPeriodオブジェクトから「秒」のコンポーネントを取得するには、period.secondプロパティを使用します。この記事では、具体的なコード例とともに、その使い方をわかりやすく解説します。必要なライブラリのインポートまず、pandasをインポートします。import pandas as pdPeriodオブジェクトとはpandas.Periodは、特定の期間(時点)を表すオブジェクトです。日付や時刻の情報を保持し、頻度(freq)を指定することで、年・月・日・時・分・秒などの単位で期間を扱うことができます。ここでは、2つのPeriodオブジェクトを作成してみましょう。1つ目は

  2. Python・pandasで列のデータ型を取得する方法|info()メソッドの使い方

    pandasのDataFrameで各列のデータ型(dtype)を確認したい場合は、info()メソッドを使用します。このメソッドを呼び出すだけで、列名・非null件数・データ型・メモリ使用量といった概要情報を一括して取得できます。 まず、必要なライブラリをインポートしましょう。 import pandas as pd 次に、文字列型と整数型という異なるデータ型を持つ2つの列からなるDataFrameを作成します。 dataFrame = pd.DataFrame( { Student: [Jack, Robin, Ted, Marc, Scarlett, Kat, Jo