numpyで三角関数の数値計算をしてみる。
ここでは以下を説明する。
- 三角関数
- 逆三角関数
- 角度とラジアンの変換
三角関数
numpyでサイン、コサイン、タンジェントの計算をするためにはnumpy.sin, cos, tanを使う。
計算値として0, 1, π/2, πを使う。numpyでπはnumpy.piで利用できる。
import numpy as np x = [0, 1, np.pi/2, np.pi] print(np.sin(x)) # [0.00000000e+00 8.41470985e-01 1.00000000e+00 1.22464680e-16] print(np.cos(x)) # [ 1.00000000e+00 5.40302306e-01 6.12323400e-17 -1.00000000e+00] print(np.tan(x)) # [ 0.00000000e+00 1.55740772e+00 1.63312394e+16 -1.22464680e-16]
matplotlib.pyplotを利用すると三角関数グラフを描くことができる。
import matplotlib.pyplot as plt %matplotlib inline x = np.linspace(-np.pi, np.pi, 101) plt.plot(x, np.sin(x)) plt.xlabel('degree') plt.ylabel('sin(x)') plt.show()
逆三角関数
逆三角関数はarcsin, arccos, arctanを使う。
import numpy as np x = [-1,0, 1] print(np.pi) # 3.141592653589793 print(np.pi/2) # 1.5707963267948966 print(np.arcsin(x)) # [-1.57079633 0. 1.57079633] print(np.arccos(x)) # [3.14159265 1.57079633 0. ] print(np.arctan(x)) [-0.78539816 0. 0.78539816]
角度とラジアンの変換
角度からラジアンへ変換するためには、degrees()もしくはrad2deg()を使う。
ラジアンから角度へ変換するためには、radians()もしくはdeg2rad()を使う。
rad = [0, np.pi/2, np.pi, np.pi*2] print(np.degrees(rad)) # [ 0. 90. 180. 360.] print(np.rad2deg(rad)) # [ 0. 90. 180. 360.] degree = [0, 90, 180, 360] print(np.radians(x)) # [-0.01745329 0. 0.01745329] print(np.deg2rad(degree)) # [0. 1.57079633 3.14159265 6.28318531]