三角函数系的正交性
这里要证明的话可以用到积化和差公式

系数推导(对于周期为 的函数)
推导

推导
这里给I式两边同乘 ,再到 上积分就会发现I式第二项只剩下了n=k的这一项,然后解出结果能导出

推广
上述公式要推广到任意周期函数,只需要用换元法就可以。
示例
下面的代码用傅里叶级数拟合了一个周期为 6 的方波,可以看到当n为 3000 时,拟合的方波已经非常趋近于真实的方波,肉眼基本上无法分辨。
import numpy as np
t = 4
x = np.arange(-t * np.pi, t * np.pi, 0.1).reshape((-1, 1))
def fourier(ns, x):
n = np.linspace(1, ns, ns).reshape(1, -1)
an = n * 0
bn = 1 / (np.pi * n) * (2 - 2 * np.cos(n * np.pi))
res = an * np.cos(n * x) + bn * np.sin(n * x)
return res.sum(axis=1)
fx = fourier(3000, x)
import matplotlib.pyplot as plt
plt.plot(x, fx)
plt.show()