1. 对周期函数进行分解的猜想
拉格朗日等数学家发现某些周期函数可以由三角函数的和来表示,比如下图中,黑色的斜线就是周期为2\pi的函数,而红色的曲线是三角函数之和,可以看出两者确实近似:
而另外一位数学家,让·巴普蒂斯·约瑟夫·傅里叶男爵(1768-1830)猜测任意周期函数都可以写成三角函数之和。
2. 分解的思路
假设f(x)是周期为T的函数,傅里叶男爵会怎么构造三角函数的和,使之等于f(x)?
2.1 常数项
对于y=C,C∈R这样的常数函数:
根据周期函数的定义,常数函数是周期函数,周期为任意实数。
所以,分解里面得有一个常数项。
2.2 通过sin(x),cos(x)进行分解
首先,sin(x),cos(x)是周期函数,进行合理的加减组合,结果可以是周期函数。
其次,它们的微分和积分都很简单。
然后,sin(x)是奇函数,即:
-sin(x)=sin(-x)
从图像上也可以看出,sin(x)关于原点对称,是奇函数:
而奇函数与奇函数加减只能得到奇函数。
而cos(x)是偶函数,即:
cos(x)=cos(-x)
从图像上也可以看出,cos(x)关于Y轴对称,是偶函数:
同样的,偶函数与偶函数加减只能得到偶函数。
但是任意函数可以分解为奇偶函数之和:
f(x)=2f(x)+f(−x)+2f(x)−f(−x)=feven+fodd
所以同时需要sin(x),cos(x)。
2.3 保证组合出来周期为T
之前说了,f(x)是周期为T的函数,我们怎么保证组合出来的函数周期依然为T呢?
比如下面这个函数的周期为2π:
很显然,sin(x)的周期也是2π:
sin(2x)的周期也是2π,虽然最小周期是π:
很显然,sin(nx),n∈N的周期都是2π:
更一般的,如果f(x)的周期为T,那么:
sin(T2πnx)cos(T2πnx),n∈N
这些函数的周期都为T。
将这些函数进行加减,就保证了得到的函数的周期也为T。
2.4 调整振幅
现在我们有一堆周期为2π的函数了,比如说
sin(x),sin(2x),sin(3x),sin(4x),sin(5x)
现在,sin(x)看起来处处都比目标函数低一些:
通过调整振幅可以让它们慢慢接近目标函数,比如把它的振幅增加一倍:
2sin(x)有的地方超出去了,从周期为2π的函数中选择一个,减去一点:
调整振幅,加加减减,我们可以慢慢接近目标函数:
综上,构造出来的三角函数之和大概类似下面的样子:
f(x)=C+n=1∑∞(ancos(T2πnx)+bnsin(T2πnx)),C∈R
这样就符合之前的分析:
- 有常数项
- 奇函数和偶函数可以组合出任意函数
- 周期为T
- 调整振幅,逼近原函数
之前的分析还比较简单,后面开始有点难度了。即怎么确定这三个系数:
Canbn
3. sin(x)的另外一种表示方法
直接不好确定,要迂回一下,先稍微介绍一下什么是:eiωt?
3.1 eiωt
看到复数也不要怕,根据之前的文章如何通俗易懂地解释欧拉公式,看到类似于eiθ这种就应该想到复平面上的一个夹角为θ的向量:
那么当θ不再是常数,而是代表时间的变量t的时候:
eiθ→eit
随着时间t的流逝,从0开始增长,这个向量就会旋转起来,2π秒会旋转一圈,也就是T=2π:
3.2 通过eiωt表示sin(t)
根据欧拉公式,有:
eit=cos(t)+isin(t)
所以,在时间t轴上,把eit向量的虚部(也就是纵坐标)记录下来,得到的就是sin(t):
在时间t轴上,把ei2t向量的虚部记录下来,得到的就是sin(2t):
如果在时间t轴上,把eit的实部(横坐标)记录下来,得到的就是cos(t)的曲线:
更一般的,具有两种看待sin(x),cos(x)的角度:
eiωt⟺{sin(ωt)cos(ωt)
这两种角度,一个可以观察到旋转的频率,所以称为频域;一个可以看到流逝的时间,所以称为时域:
4. 通过频域来求系数
4.1 函数是线性组合
假设有这么个函数:
g(x)=sin(x)+sin(2x)
是一个T=2π的函数:
如果转到频域去,那么它们是下面这个复数函数的虚部:
eit+ei2t
先看看eiθ+ei2θ,其中θ是常数,很显然这是两个向量之和:
现在让它们动起来,把θ变成流逝的时间t,并且把虚部记录下来:
我们令:
G(t)=eit+ei2t
这里用大写的G来表示复数函数。
刚才看到了,eit和ei2t都是向量,所以上式可以写作:
G(t)=eit+ei2t
这里就是理解的重点了,从线性代数的角度:
- eit和ei2t是基(可以参考无限维的希尔伯特空间)
- G(t)是基eit和ei2t的线性组合
g(t)是G(t)的虚部,所以取虚部,很容易得到:
g(t)=sin(t)+sin(2t)
即g(t)是基sin(t),sin(2t)的线性组合。
那么sin(t),sin(2t)的系数,实际上是g(t)在基sin(t),sin(2t)下的坐标了。
4.2 如何求正交基的坐标
有了这个结论之后,我们如何求坐标?
我们来看个例子,假设:
w=2u+3v
其中
u=(11),v=(−11)
通过点积:
u⋅v=0
可知这两个向量正交,是正交基。
通过点积可以算出u的系数(对于正交基才可以这么做):
u⋅uw⋅u=(−1,1)⋅(−1,1)(1,5)⋅(−1,1)=2
如何求sin(nt)基下的坐标
在这里抛出一个结论(可以参考无限维的希尔伯特空间),函数向量的点积是这么定义的:
f(x)⋅g(x)=∫0Tf(x)g(x)dx
其中,f(x)是函数向量,g(x)是基,T是f(x)的周期。
那么对于:
g(x)=sin(x)+sin(2x)
其中,g(x)是向量,sin(t),sin(2t)是基,周期T=2π。
根据刚才内积的定义:
sin(t)⋅sin(2t)=∫02πsin(t)sin(2t)dt=0
所以是正交基,那么根据刚才的分析,可以这么求坐标:
sin(t)⋅sin(t)g⋅sin(t)=∫02πsin2(x)dx∫02πg(x)sin(x)dx=1
4.4 更一般的
对于我们之前的假设,其中f(x)周期为T:
f(x)=C+n=1∑∞(ancos(T2πnx)+bnsin(T2πnx)),C∈R
可以改写为这样:
f(x)=C⋅1+n=1∑∞(ancos(T2πnx)+bnsin(T2πnx)),C∈R
也就是说向量f(x)的基为:
{1,cos(T2πnx),sin(T2πnx)}
是的,1也是基。结合偶函数*奇函数=奇函数的性质可以计算出an,bn:
an=∫0Tcos2(T2πnx)dx∫0Tf(x)cos(T2πnx)dx=T2∫0Tf(x)cos(T2πnx)dxbn=∫0Tsin2(T2πnx)dx∫0Tf(x)sin(T2πnx)dx=T2∫0Tf(x)sin(T2πnx)dx
C也可以通过点积来表示,最终我们得到:
f(x)=2a0+n=1∑∞(ancos(T2πnx)+bnsin(T2πnx))
其中:
an=T2∫x0x0+Tf(x)⋅cos(T2πnx) dx,n∈{0}⋃Nbn=T2∫x0x0+Tf(x)⋅sin(T2πnx) dx,n∈N
5. 傅立叶级数的另外一种表现形式
利用欧拉公式eix=cosx+isinx,我们发cosx,sinx可表示成
cosx=2eix+e−ix,sinx=2ieix−e−ix
再将傅立叶级数f(x)中cos(T2πnx)和sin(T2πnx)的线性组合式改写如下:
ancos(T2πnx)+bnsin(T2πnx)=an(2eiT2πnx+e−iT2πnx)+bn(2ieiT2πnx−e−iT2πnx)=(2an−ibn)eiT2πnx+(2an+ibn)e−iT2πnx=cneiT2πnx+c−ne−iT2πnx
可以验证
c−n=2a−n−ib−n=2an+ibncn=2an−ibn
这是因为an是一个偶函数,bn是一个奇函数。此外,若n=0,就有c0=a0/2。将以上结果代回f(x)的傅立叶级数即得傅立叶级数指数形式:
f(x)=n=−∞∑∞基的坐标cn⋅正交基eiT2πnx
将an,bn的结果代进去可以得到
cn=T1∫−T/2T/2f(x)(cos(T2πnx)−isin(T2πnx))dx=T1∫−T/2T/2f(x)e−iT2πnxdx
公式用频率替换:Δω=T2π,再令ωn=ωn现在我们可以写出全新的傅里叶级数:
f(x)=n=−∞∑∞2πΔω∫−T/2T/2f(x)e−iωnxdx⋅eiωnx=n=−∞∑∞2πΔω∫−T/2T/2f(x)e−iωnxdx⋅eiωnx
现在令T→∞,Δω→0,并设
F(ω)=∫−∞+∞f(x)e−iωxdx
f(x)=n=−∞∑∞2πΔωF(ωn)⋅eiωnx=2π1n=−∞∑∞F(ωn)⋅eiωnxΔω=2π1∫−∞+∞F(ω)⋅eiωxdω
于是得到了傅里叶变换就是
F(ω)=∫−∞+∞f(x)e−iωxdx