Pythonで実装する微分②(三角関数)|Pythonで実装する高校数学 #4
連載の経緯と多項式関数と三角関数の概要とPython実装は#1で、指数関数、対数関数の概要とPython実装は#2でまとめました。
#3以降では微分について取り扱います。#3では多項式関数の微分について取り扱いました。
#4では三角関数の微分となります。
以下目次になります。
1. 三角関数の微分の公式と導出
2. Pythonで実装する三角関数の微分
3. まとめ
1. 三角関数の微分の公式
#3でも触れましたが、微分の定義式は下記の式で表すことができます。
#3ではこの式を多項式関数にあてはめて考えました。
上記はの微分の導出になっています。多項式関数に関してはを二項定理で展開し計算していくことで、を導出することができます。これを多項式の微分における公式として把握することができます。
今回は三角関数の微分の微分について確認します。公式は下記のようになっています。
このように三角関数の微分については公式があります。公式の導出については若干トリッキーなので省略しますが、定義に基づいて導出するとの微分については、の微分についてはとなっていることに注意です。
2節ではPythonでの実装を通して三角関数の微分について確認してみます。
2. Pythonで実装する三角関数の微分
2節ではPythonで三角関数の微分について確認していきます。まずはcosについて確認していきます。
import numpy as np
import matplotlib.pyplot as pltx = np.arange(0,10,0.01)
y = np.cos(x)plt.plot(x,y)
plt.show()
cosのグラフは上記のようにすることで描くことができます。実行結果は下記のようになります。
上記において、cosがで値1を取り、周期がであることが確認できます。
次に下記のようなコードを実行することで接線(tangent line)を引くことができます。
import numpy as np
import matplotlib.pyplot as pltx = np.arange(0,10,0.01)
y = np.cos(x)
plt.plot(x,y,label="cos(x)")
x_ = np.arange(0,4,0.01)x_pos = [2., 3.14]
for xpos in x_pos:
f = np.cos(xpos)
f_add_h = np.cos(xpos+0.01)
slope = (f_add_h - f)/0.01
tangent_line = slope*(x_-xpos)+np.cos(xpos)
plt.plot(x_,tangent_line,label="tangent_line_"+str(xpos))plt.legend()
plt.show()
実行結果は下記のようになります。
cosについて確認できたので次にsinについて確認していきます。
import numpy as np
import matplotlib.pyplot as pltx = np.arange(0,10,0.01)
y = np.sin(x)plt.plot(x,y)
plt.show()
sinのグラフは上記のようにすることで描くことができます。実行結果は下記のようになります。
sinがで値0を取り、周期がであることが確認できます。
また、cosの時と同様に下記のようなコードを実行することで接線(tangent line)を引くことができます。
import numpy as np
import matplotlib.pyplot as pltx = np.arange(0,10,0.01)
y = np.sin(x)
plt.plot(x,y,label="sin(x)")
x_ = np.arange(0,4,0.01)x_pos = [1.57, 2., 3.14]
for xpos in x_pos:
f = np.sin(xpos)
f_add_h = np.sin(xpos+0.01)
slope = (f_add_h - f)/0.01
tangent_line = slope*(x_-xpos)+np.sin(xpos)
plt.plot(x_,tangent_line,label="tangent_line_"+str(xpos))plt.legend()
plt.show()
実行結果は下記のようになります。
ここまでの内容で大体のイメージがつかめたと思いますので2節はここまでとします。
3. まとめ
#4では三角関数の微分について取り扱いました。
#5では指数関数と対数関数の二つについて取り扱えればと思います。