フーリエ級数展開 三角関数、正弦の絶対値
Pythonで学ぶフーリエ解析と信号処理 (神永 正博)(著)、コロナ社)の第2章(フーリエ級数展開)、章末問題2-16の解答を求めてみる。
の場合、
また、
よって、
コード(Python)
#!/usr/bin/env python3
import numpy as np
import matplotlib.pyplot as plt
print('2-16.')
def partialsum(t, n):
return 2 / np.pi + \
2 / np.pi * sum(((-1)**(k-1) - 1) / (k ** 2 - 1) * np.cos(k * t)
for k in range(2, n + 1))
vectorized = np.vectorize(partialsum)
t = np.linspace(-np.pi, np.pi, 10000)
n = 10
fig = plt.figure()
for m in range(1, n + 1):
ax = fig.add_subplot(n, 1, m)
ax.plot(t, np.abs(np.sin(t)))
ax.plot(t, vectorized(t, m))
plt.savefig('sample6.png')
plt.show()
入出力結果
% ./sample6.py
2-16.
%