数学のブログ

フーリエ級数展開 累乗、平方、無限級数の和、部分積分法

Pythonで学ぶフーリエ解析と信号処理 (神永 正博)(著)、コロナ社)の第2章(フーリエ級数展開)、章末問題2-19の解答を求めてみる。

a n = 2 2 π - π π t 2 cos n t dt = 2 π 0 π t 2 cos n t dt
a 0 = 2 π 0 π t 2 dt = 2 3 π [ t 3 ] 0 π = 2 π 2 3
n 0

のとき、

a n = 2 π 0 π t 2 cos n t dt
= 2 π ( [ t 2 sin t n ] 0 π - 2 0 π t sin n t n dt )
= 4 n π ( [ t cos n t n ] 0 π - 1 n 0 π cos n t dt )
= 4 n 2 π ( ( - 1 ) n π - [ sin n t n ] 0 π )
= 4 ( - 1 ) n n 2
b n = 2 2 π - π π t 2 sin n t dt = 0

よって、 求めるフーリエ展開は、

t 2 π 2 3 + n = 1 4 ( - 1 ) n n 2 cos n t = π 2 3 - n = 1 4 ( - 1 ) n - 1 n 2 cos n t

よって、

0 = π 2 3 - n = 1 4 ( - 1 ) n - 1 n 2
n = 1 ( - 1 ) n - 1 n 2 = π 2 12

コード(Python)

#!/usr/bin/env python3
import random
import numpy as np
import matplotlib.pyplot as plt

print('2-19.')


def partialsum(t, n):
    return np.pi ** 2 / 3 + \
        4 * sum((-1) ** k / k ** 2 * np.cos(k * t)
                for k in range(1, n + 1))


vectorized = np.vectorize(partialsum)
t = np.linspace(-np.pi, np.pi, 10000)
n = 5
for m in range(1, n + 1):
    plt.plot(t, t ** 2)
    plt.plot(t, vectorized(t, m))
    plt.legend(['t^2', f'm = {m}'])
    plt.savefig(f'sample9_{m - 1}.png')
    plt.show()

入出力結果

% ./sample9.py 
2-19.
%