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

Pythonで配列要素の逆正弦(arcsin)を求める方法 ― NumPyのarcsin()関数の使い方

逆正弦(arcsin)は多価関数です。つまり、各xに対して sin(z) = x を満たすzは無限に存在します。NumPyでは慣例として、実部が [-π/2, π/2] の範囲に収まる角度zを返します。なお、逆正弦は asin や sin-1 とも呼ばれます。

実数値の入力データ型の場合、arcsinは常に実数の出力を返します。ただし、実数や無限大として表現できない値が含まれる場合は nan を返し、無効な浮動小数点演算のエラーフラグが設定されます。

一方、複素数値の入力の場合、arcsinは複素解析関数として扱われ、慣例により枝切り(branch cuts)は [-∞, -1] と [1, +∞] に置かれ、前者には上側から、後者には下側から連続になります。

numpy.arcsin()メソッドとは

配列要素の三角関数の逆正弦を求めるには、PythonのNumPyで提供されている numpy.arcsin() メソッドを使用します。このメソッドは、第1引数xの各要素に対する逆正弦の値を返します。第1引数xは、単位円上のy座標を表します。第2・第3引数は省略可能です。

  • 第2引数(out): 結果を格納するndarrayを指定します。指定する場合は、入力がブロードキャストされた後の形状と一致している必要があります。指定しない場合やNoneの場合は、新しく確保された配列が返されます。タプルで指定することもできます(キーワード引数としてのみ有効)。その際、長さは出力の数と一致させる必要があります。
  • 第3引数(where): 条件を指定すると、その条件が入力全体にブロードキャストされ、条件がTrueの位置のみ計算が行われます。

実装の手順

1. ライブラリのインポート

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

import numpy as np

2. 配列の作成

numpy.array() メソッドを使って配列を作成します。

arr = np.array((1, -1, 0, 0.3))

3. 配列の表示

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

4. データ型の確認

print("\nArray datatype...\n", arr.dtype)

5. 配列の次元の確認

print("\nArray Dimensions...\n", arr.ndim)

6. 配列の要素数の確認

print("\nNumber of elements in the Array...\n", arr.size)

7. 逆正弦の計算

numpy.arcsin() メソッドで配列要素の逆正弦を求めます。

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

完全なコード例

import numpy as np

# numpy.arcsin()メソッドで配列要素の三角関数の逆正弦を求める
# 第1引数xの各要素に対する逆正弦の値を返す

print("配列要素の逆正弦を求めます...")
# numpy.array()メソッドで配列を作成
arr = np.array((1, -1, 0, 0.3))

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

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

# 配列の次元を取得
print("\nOur Array Dimensions...\n", arr.ndim)

# 配列の要素数を取得
print("\nNumber of elements...\n", arr.size)

# 配列要素の逆正弦を計算
print("\nResult...", np.arcsin(arr))

出力結果

Get the Trigonometric inverse sine of the array elements...
Array...
[ 1. -1. 0. 0.3]

Our Array type...
float64

Our Array Dimensions...
1

Number of elements...
4

Result... [ 1.57079633 -1.57079633 0. 0.30469265]

出力を見ると、入力値 1 の逆正弦は π/2(約1.57079633)、-1 の逆正弦は -π/2、0 の逆正弦は 0、0.3 の逆正弦は約 0.30469265 となっていることが分かります。すべての結果が [-π/2, π/2] の範囲内に収まっており、arcsinの仕様どおりの動作です。

  1. Python NumPyのsin()メソッドで角度の正弦(サイン)を求める方法

    PythonのNumPyライブラリでは、numpy.sin()メソッドを使うことで、角度の三角関数である正弦(サイン)を簡単に計算できます。このメソッドは、第1引数xの各要素に対してサイン値を返し、スカラーが渡された場合はスカラー値を返します。第1引数xにはラジアン単位の角度を指定します(2πが360度に相当)。第2引数と第3引数は省略可能です。numpy.sin()の主なパラメータ第2引数(out):計算結果を格納するためのndarrayです。指定する場合は、入力がブロードキャストされる形状と一致している必要があります。指定しない場合やNoneの場合は、新しく確保された配列が返されます。タプ

  2. Python NumPyのnp.tanh()で配列要素の双曲線正接を計算する方法

    配列要素の双曲線正接(ハイパボリック・タンジェント)を計算するには、PythonのNumPyが提供する numpy.tanh() メソッドを使用します。このメソッドは np.sinh(x)/np.cosh(x) または -1j * np.tan(1j*x) と数学的に等価であり、入力値に対応する双曲線正接の値を返します。入力 x がスカラーの場合、戻り値もスカラーになります。np.tanh()の主な引数第1引数(x): 入力となる配列です。ここに渡した各要素に対して双曲線正接が計算されます。第2引数と第3引数は省略可能です。第2引数(out): 計算結果を格納するためのndarrayです。指定