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