NumPyで便利な三角関数メソッド(sin,cos,tan,arcsinなど)を解説していく

スポンサーリンク

読者の今回は、知っておきたいNumPyの普遍的な三角関数を学びます!

では、さっそく始めましょう

そもそも、NumPyの数学的な関数は、ユニバーサル関数という枠でくくられます。

これらの万能関数(数学的なNumPy関数)は、NumPyの配列クラスを操作し、データ値に対して要素ごとの操作を実行します。

NumPyのユニバーサル関数は、Pythonのnumpy.ufuncクラスに属します。

このトピックでは、以下の種類のユニバーサル三角関数に焦点を当てます。

  1. ユニバーサル三角関数
  2. 次数とラジアン値の相互変換を行うための関数
  3. 双曲線関数
  4. ハイポテンウス値の計算
  5. 三角関数から角度の値を求める

スポンサーリンク

1. Numpyの三角関数

この記事では、以下の普遍的なNumpyの三角関数に取り組みます-。

  1. numpy.sin()関数。1. numpy.sin()関数:配列の値に対してサイン成分を計算します。
  2. numpy.cos()関数。numpy.cos()関数:配列の値に対する余弦成分を計算します。
    numpy.tan()関数: numpy.tan()関数:配列のデータ要素に対するタンジェント値を計算します。

例えば、以下の様になります。

import numpy as np
arr = np.array([30,60,90])
 
val_sin = np.sin(arr)
print("Sine value",val_sin)
 
val_cos = np.cos(arr)
print("Cosine value",val_cos)
 
val_tan = np.tan(arr)
print("Tangent value",val_tan)

出力。

Sine value [-0.98803162 -0.30481062  0.89399666]
Cosine value [ 0.15425145 -0.95241298 -0.44807362]
Tangent value [-6.4053312   0.32004039 -1.99520041]

2. 度数とラジアン値の相互変換

どの言語でも三角関数の演算を行う際に、度数をラジアン値に、またはその逆を行う必要がある場面に出くわします。

そのために、NumPyでは以下のようなユニバーサルな関数を用意しています。

deg2rad: 角度の度数をラジアンに変換します。

rad2deg: ラジアン角度を度に変換します。

例えば、以下の様になります。

import numpy as np
arr = np.array([30,60,90])
 
rad = np.deg2rad(arr)
print("Radian values for the array having degree values:", rad)
 
arr_rad = np.array([0.52359878, 1.04719755, 1.57079633])
degree = np.rad2deg(arr_rad)
print("Degree values for the array having radian values:", degree)

出力。

Radian values for the array having degree values: [0.52359878 1.04719755 1.57079633]
Degree values for the array having radian values: [30.00000025 59.99999993 90.00000018]

3. 三角関数の値から角度を求める

リバースエンジニアリングとして、以下の関数に三角関数の値を与えて、角度の値を求める。

  1. arcsin() 関数。arcsin()関数:サイン値から角度値を計算します。
    arccos()関数。arccos() 関数:cos 値から角度を計算します。
    arctan()関数 arctan() 関数:タンジェント値から角度値を算出します。

例えば、以下の様になります。

import numpy as np
arr = np.array([1,0.5])
 
sin_ang = np.arcsin(arr)
print("Angle from the sin function:", sin_ang)
 
cos_ang = np.arccos(arr)
print("Angle from the cos function:", cos_ang)
 
tan_ang = np.arctan(arr)
print("Angle from the tan function:", tan_ang)

結果は以下の通りです。

Angle from the sin function: [1.57079633 0.52359878]
Angle from the cos function: [0.         1.04719755]
Angle from the tan function: [0.78539816 0.46364761]

4.斜辺

numpy.hypot() 関数に底辺と高さの値を与えると、ピタゴラスの基準に従って斜辺の値を計算することができる。

構文は以下の様な感じです。

numpy.hypot() function

例えば、以下の様になります。

import numpy as np
 
b = 5
h = 8
 
hy = np.hypot(b, h)
 
print(hy)

結果は以下の通りです。

9.433981132056603

5. 双曲線関数

NumPyには、与えられた値に対して双曲三角値を計算するための以下の関数が用意されています。

numpy.sinh()関数。

numpy.sinh()関数:配列の値に対するハイパーボリックサイン値を計算します。

numpy.cosh()関数。

numpy.cosh()関数:配列の値に対するハイパーボリックコサイン値を計算します。

numpy.tanh()関数: numpy.tanh()関数:配列の値に対するハイパーボリックタンジェントを計算します。

例えば、以下の様になります。

import numpy as np
arr = np.array([30,60,90])
 
val_sin = np.sinh(arr)
print("Hyperbolic Sine value",val_sin)
 
val_cos = np.cosh(arr)
print("Hyperbolic Cosine value",val_cos)
 
val_tan = np.tanh(arr)
print("Hyperbolic Tangent value",val_tan)

出力。

Hyperbolic Sine value [5.34323729e+12 5.71003695e+25 6.10201647e+38]
Hyperbolic Cosine value [5.34323729e+12 5.71003695e+25 6.10201647e+38]
Hyperbolic Tangent value [1. 1. 1.]

まとめ

ここまでで、NumPyの三角関数の記事は終わりです。

何か質問がありましたら、お気軽にコメントください。

Pythonプログラミングに関連するこのような記事のために、私たちと一緒にご期待ください。

タイトルとURLをコピーしました