傅里叶级数 笔记
初始
对于任何 f:[0,1]→C 可以这样逼近
f(t)=n=−∞∑∞cnen⋅2πit=⋯+c−2e−2⋅2πit+c−1e−1⋅2πit+c0e0⋅2πit+c1e1⋅2πit+c2e2⋅2πit+…
cn是复数,表示每个向量的初始位置,而en⋅2πit表示旋转速度是每秒(单位时间)转n圈
cn可以这样算
∫01f(t)e−n⋅2πitdt=∫01(⋯+c−1e−1⋅2πit+c0e0⋅2πit+c1e1⋅2πit+…)e−n⋅2πitdt=∫01(⋯+cn−1e−1⋅2πit+cne0⋅2πit+cn+1e1⋅2πit+…)dt=⋯+∫01cn−1e−1⋅2πitdt+∫01cne0⋅2πitdt+∫01cn+1e1⋅2πitdt+…=∫01cne0⋅2πitdt=cn
解释
这里的积分∫01f(t)dt实际上是求整个图像的平均值/重心,只不过 t 的范围是 1 所以值相等
关键在于,和的平均值等于平均值的和
我们给和(f(t))求平均值(积分),等于给每一个旋转的向量求平均值(积分),然后求和
由于其它所有向量都旋转了整数倍(都是每秒转n圈,而这个时间就是一秒),因此平均值都是0,所以有
∫01f(t)dt=∫01c0e0⋅2πitdt=c0
我们再用e−n⋅2πit来增减旋转的速度
由于乘法分配律,它同时作用在所有的旋转上,足以让每秒转n圈的停下来,同时其它的变成旋转整数圈
所以此时的平均值
∫01f(t)e−n⋅2πitdt=∫01cne0⋅2πitdt=cn
至此,我们对于任意函数,可以有计算式
f(t)=n=−∞∑∞cnen⋅2πit
其中
cn=∫01f(t)e−n⋅2πitdt
来逼近
练习
例:尝试逼近函数
f(x)={1−1,x∈[0,0.5),x∈[0.5,1]
那么就是要求出
cn=∫01f(x)e−n⋅2πixdx=∫00.51⋅e−n⋅2πixdx+∫0.51−1⋅e−n⋅2πixdx=−n⋅2πi1(e−n⋅πi−e0−e−n⋅2πi+e−n⋅πi)=−n⋅πi1((−1)−n−1)=n⋅πi1−(−1)n=⎩⎨⎧0n⋅πi2,n是偶数,n是奇数
于是我们有
f(x)=n=−∞∑∞cnen⋅2πix=n=1,3,5,…∑n⋅πi2en⋅2πix−n⋅πi2e−n⋅2πix=n=1,3,5,…∑n⋅π42i1(en⋅2πix−e−n⋅2πix)=n=1,3,5,…∑n⋅π4sin(n⋅2πx)
相关信息
由欧拉公式有
eix=cosx+i⋅sinxe−ix=cosx−i⋅sinx
于是我们有
2⋅cosx=eix+e−ix2i⋅sinx=eix−e−ix
即
cosx=21(eix+e−ix)sinx=2i1(eix−e−ix)
也就是我们在上面例题使用的代换
试一试!
尝试逼近函数
f(x)={x−0.50,x∈[0,0.5),x∈[0.5,1]
实数域上的傅里叶级数
对于实数域上的函数f(t),需要将复指数的形式转换为 sin 和 cos 的形式
f(t)=n=−∞∑∞cnen⋅2πit
cn=∫01f(t)e−n⋅2πitdt
我们留出n=0,把其它的正负两两配对
f(t)=c0+n=1∑∞(cnen⋅2πit+c−ne−n⋅2πit)
由欧拉公式展开
en⋅2πit=cos(n⋅2πt)+i⋅sin(n⋅2πt)e−n⋅2πit=cos(n⋅2πt)−i⋅sin(n⋅2πt)
于是
cnc−n=∫01f(t)e−n⋅2πitdt=∫01f(t)(cos(n⋅2πt)−i⋅sin(n⋅2πt))dt=∫01f(t)cos(n⋅2πt)dt−i⋅∫01f(t)sin(n⋅2πt)dt=∫01f(t)cos(n⋅2πt)dt+i⋅∫01f(t)sin(n⋅2πt)dt
记
anbn=∫01f(t)cos(n⋅2πt)dt=∫01f(t)sin(n⋅2πt)dt
则
cn=an−bn⋅ic−n=an+bn⋅if(t)=c0+n=1∑∞((an−bn⋅i)(cos(n⋅2πt)+i⋅sin(n⋅2πt))+(an+bn⋅i)(cos(n⋅2πt)−i⋅sin(n⋅2πt)))=c0+n=1∑∞(2ancos(n⋅2πt)+2bnsin(n⋅2πt))
由于
b0=∫01f(t)sin(0)dt=0
于是
c0=a0−b0⋅i=a0
于是我们得到了实数域上的傅里叶级数
f(t)=a0+n=1∑∞(2ancos(n⋅2πt)+2bnsin(n⋅2πt))
其中
anbn=∫01f(t)cos(n⋅2πt)dt=∫01f(t)sin(n⋅2πt)dt