科学の箱

科学・IT・登山の話題

Python

numpyで三角関数の数値計算をしてみる

投稿日:

numpyで三角関数の数値計算をしてみる。

ここでは以下を説明する。

  • 三角関数
  • 逆三角関数
  • 角度とラジアンの変換

三角関数

numpyでサイン、コサイン、タンジェントの計算をするためにはnumpy.sin, cos, tanを使う。

Trigonometric functions

計算値として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]

 

 

メタ情報

inarticle



メタ情報

inarticle



-Python
-

執筆者:


comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

関連記事

no image

SIGNATE お弁当の需要予測-4

今回はSeabornのpairplotを利用して相関の概要を見てみる。ただし相関を見るためにはデータのクレンジングが必要。 まずはnullデータのヒートマップを確認してみる。 sns.heatmap( …

no image

StringIOを使ってread_csvのテストをしてみる

pandasで操作できるファイルは様々なあるが、csvはJSONと並んで取り扱うことが多いファイルである。ちょっとしたコードの検証をしたいときに毎回csvを用意して、read_csv()で読み込むのは …

no image

kaggle Titanic Tutorial – 10

いろいろ試しているがうまくいかないので、とりあえずAgeを正しく補完できるか調べる。 調査は線形回帰でどれくらい相関が出るかで判断する。   import numpy as nm impor …

no image

スライスとインデックスを組み合わせてデータを抜き出す

行列からデータを取得する際には、インデックスを利用すことはわかった。このインデックスの種類としては整数、スライス、配列、ブーリアンがある。これらを組み合わせて柔軟に配列から要素を抜き出すことができる。 …

no image

タプルの操作

タプルはPythonで提供されているデータ構造の一つ。タプルは固定長で変更できない複数の値の集合である。 タプルオブジェクト (tuple object) — Python 3.8.0 ドキュメント …

2019年9月
« 8月   10月 »
 1
2345678
9101112131415
16171819202122
23242526272829
30  

side bar top



アーカイブ

カテゴリー