前回「マクローリン展開をお勉強(Python)」の続きです。
McLaughlin2.py
import numpy as np
import matplotlib.pyplot as plt
def kaijyo(n):
result = 1
for i in range(1, n+1):
result *= i
return result
def sin(x, n):
result = 0
for i in range(1, n+1):
result += (-1)**(i+1) * (1 / kaijyo(2*i-1)) * x**(2*i-1)
return result
def cos(x, n):
result = 1
for i in range(1, n+1):
result += (-1)**(i+1) * 1 / kaijyo(2 * (i-1)) * x**(2*(i-1))
return result
def tan(x, n):
return sin(x, n) / cos(x, n)
def arctan(x, n):
result = 0
for i in range(1, n+1):
result += (-1)**(i+1) * x**(2*i-1) / (2*i-1)
return result
x = np.linspace(-2 * np.pi, 2 * np.pi, 101)
for n in range(1, 11, 1):
plt.plot(x, sin(x, n)**2, label = str(n) + "D")
plt.legend()
plt.ylim(-2,4)
plt.show()
for n in range(1, 11, 1):
plt.plot(x, cos(x, n)**2, label = str(n) + "D")
plt.legend()
plt.ylim(-2,4)
plt.show()
for n in range(1, 11, 1):
plt.plot(x, tan(x, n)**2, label = str(n) + "D")
plt.legend()
plt.ylim(-2,4)
plt.show()
for n in range(1, 11, 1):
plt.plot(x, arctan(x, n)**2, label = str(n) + "D")
plt.legend()
plt.ylim(-2,4)
plt.show()
sin,cosなどをそれぞれ2乗してみました。こんなグラフになります。
sinの2乗
cosの2乗
tanの2乗
arctanの2乗
McLaughlin3.py
import numpy as np
import matplotlib.pyplot as plt
def kaijyo(n):
result = 1
for i in range(1, n+1):
result *= i
return result
def sin(x, n):
result = 0
for i in range(1, n+1):
result += (-1)**(i+1) * (1 / kaijyo(2*i-1)) * x**(2*i-1)
return result
def cos(x, n):
result = 1
for i in range(1, n+1):
result += (-1)**(i+1) * 1 / kaijyo(2 * (i-1)) * x**(2*(i-1))
return result
def tan(x, n):
return sin(x, n) / cos(x, n)
def arctan(x, n):
result = 0
for i in range(1, n+1):
result += (-1)**(i+1) * x**(2*i-1) / (2*i-1)
return result
x = np.linspace(-2 * np.pi, 2 * np.pi, 101)
for n in range(1, 11, 1):
plt.plot(x, sin(x, n)*cos(x, n), label = str(n) + "D")
plt.legend()
plt.ylim(-4,4)
plt.show()
for n in range(1, 11, 1):
plt.plot(x, sin(x, n) * cos(x, n) * tan(x, n), label = str(n) + "D")
plt.legend()
plt.ylim(-2,4)
plt.show()
for n in range(1, 11, 1):
plt.plot(x, sin(x, n)*cos(x, n) + cos(x, n)*sin(x, n), label = str(n) + "D")
plt.legend()
plt.ylim(-4,4)
plt.show()
for n in range(1, 11, 1):
plt.plot(x, arctan(x, n)**sin(x, n), label = str(n) + "D")
plt.legend()
plt.ylim(-4,4)
plt.show()
for n in range(1, 11, 1):
plt.plot(x, cos(x, n)**sin(x, n), label = str(n) + "D")
plt.legend()
plt.ylim(-4,4)
plt.show()
for n in range(1, 11, 1):
plt.plot(x, (cos(x, n)+sin(x, n)) ** tan(x, n), label = str(n) + "D")
plt.legend()
plt.ylim(-1,8)
plt.show()
その他、色々作ってみました。
sin × cos
sin × cos × tan
sin × cos + cos × sin (咲いたコスモスコスモス咲いたみたいなやつ)
arctanのsin乗(自分でも意味わからないです)
cosのsin乗
cos + sin のtan乗
まとめ
誰かこれらがどういうグラフなのか教えてください。