■三角関数の微分
三角関数の微分公式を以下に示す。
① y = sinx
② y = cosx
③ y = tanx
■pythonで三角関数を微分する
pythonで三角関数を微分する場合は、sympyライブラリの以下のメソッドを使用する。
メソッド | 概要 |
---|---|
Symbol(‘x’) | 文字列(x)を使用する |
diff(計算式) | 微分の計算をする |
sin(x) | sin(x)を計算する |
cos(x) | cos(x)を計算する |
tan(x) | tan(x)を計算する |
▼sympyの使い方
・サンプルコード
import sympy
# 文字列をセット
x = sympy.Symbol('x')
# sin(x)を微分
print(sympy.diff(sympy.sin(x)))
# cos(x)を微分
print(sympy.diff(sympy.cos(x)))
# tan(x)を微分
print(sympy.diff(sympy.tan(x)))
・実行結果
cos(x)
-sin(x)
tan(x)**2 + 1
■例題
(1)関数 f(x) = sinx + cosx を微分する。
(2)関数 f(x) = sinx + cosx および(1)の微分した関数(f`(x))をグラフに図示する。
▼(1)関数 f(x) = sinx + cosx を微分
・サンプルコード
# -*- Coding:UTF-8 -*-
import sympy
# 関数f(x) = sinx + cosx
def f(x):
return sympy.sin(x) + sympy.cos(x)
# 文字列をセット
x = sympy.Symbol('x')
print(sympy.diff(f(x)))
・実行結果
-sin(x) + cos(x)
▼(2)関数 f(x) = sinx + cosx および(1)の結果をグラフに図示
(1)より、関数 f(x) = sinx + cosxの微分した結果は、f`(x) = cosx – sinxである。
・サンプルコード
# -*- Coding:UTF-8 -*-
import sympy
import numpy as np
from matplotlib import pyplot as plt
# 関数f(x) = sinx + cosx
def f_1(x):
return sympy.sin(x) + sympy.cos(x)
# 関数f`(x) = cosx - sinx
def f_1_d(x):
return sympy.cos(x) - sympy.sin(x)
def MakeGraph():
# 便宜上、-5から5までの値を0.1間隔で設定
x_min = -5
x_max = 5
x_interval = 0.1
x = np.arange(x_min, x_max, x_interval)
# 関数f(x)を格納する配列
y_1 = []
# 導関数f'(x)を格納する配列
y_1_d = []
# それぞれ配列に格納していく(便宜上、nは0.1間隔でセット)
for i in range(len(x)):
y_1.append(f_1(x[i]))
y_1_d.append(f_1_d(x[i]))
# 関数f(x)のグラフを作成
plt.plot(x, y_1, color='blue', label="f(x)")
# 導関数f'(x)のグラフを作成
plt.plot(x, y_1_d, color='orange', label="f`(x)")
# グラフにx軸,y軸(0)を図示
# 補助線(0)を作成 [axhline:水平 axvline:垂直]
plt.axhline(y=0, color="gray")
plt.axvline(x=0, color="gray")
# ラベルの表示
plt.legend(bbox_to_anchor=(1, 1), loc='upper left',
borderaxespad=0, fontsize=8)
# グラフを表示
plt.show()
# グラフを作成
MakeGraph()
・実行結果