傅里叶级数实验
什么是傅里叶级数?
任何周期函数都可以分解为一系列正弦和余弦函数之和:
其中系数由以下积分确定:
方波的傅里叶展开
方波(奇函数,周期 )的傅里叶级数:
叠加的谐波越多,逼近方波越精确(Gibbs 现象:边缘处约有 9% 的超调)。
复数形式
傅里叶级数的紧凑复数写法:
傅里叶变换(连续版本)
将周期延伸到无穷,得到傅里叶变换:
逆变换:
Manim 示例:方波的谐波叠加
from manim import *
import numpy as np
class FourierSquareWave(Scene):
def construct(self):
axes = Axes(x_range=[0, 4*PI, PI], y_range=[-1.5, 1.5])
def square_approx(n_terms):
def f(x):
return sum(
(4 / (np.pi * k)) * np.sin(k * x)
for k in range(1, 2*n_terms, 2)
)
return f
colors = [RED, ORANGE, YELLOW, GREEN, BLUE]
for i, n in enumerate([1, 3, 5, 9, 19]):
curve = axes.plot(square_approx(n), color=colors[i])
label = Text(f"n={n}", font_size=24, color=colors[i])
label.to_corner(UR).shift(DOWN * i * 0.4)
self.play(Create(curve), Write(label), run_time=0.8)
self.wait(2)