一根长度为 L L L 的弦,初始形状并不一定刚好是一个正弦波。它可能在中间鼓起,在某处有折角,甚至由几段直线拼起来。对于平方可积的初始数据,我们可以在均方意义下把它拆成一串正弦模态;热方程里的温度分布也会沿着同一组空间形状逐项演化。这个“拆开”到底在做什么?为什么系数是一个积分?无限级数在什么意义下等于原函数?
本章把 Fourier 级数当成一种投影工具来学。你会从内积和正交性得到系数公式,分别处理正弦级数、余弦级数和完整 Fourier 级数;然后看分段函数的端点如何影响收敛,以及 Gibbs 现象为什么不会因为项数增加而完全消失。最后把这些空间模态放回热方程和波动方程,看到每个系数怎样获得自己的时间因子。
从一条函数中抽取一个方向
在平面向量里,把向量 v v v 投影到单位向量 e e e 上,得到的长度是 v ⋅ e v\cdot e v ⋅ e 。函数也可以做同样的事,只是“点积”换成了积分内积。对区间 [ 0 , L ] [0,L] [ 0 , L ] 上的实函数,定义
⟨ f , g ⟩ = ∫ 0 L f ( x ) g ( x ) d x . \langle f,g\rangle=\int_0^L f(x)g(x)\,dx. ⟨ f , g ⟩ = ∫ 0 L f ( x ) g ( x ) d x .
若 ⟨ f , g ⟩ = 0 \langle f,g\rangle=0 ⟨ f , g ⟩ = 0 ,就说 f f f 与 g g g 正交。函数自身的平方范数是
∥ g ∥ 2 = ⟨ g , g ⟩ = ∫ 0 L g ( x ) 2 d x . \|g\|^2=\langle g,g\rangle=\int_0^L g(x)^2\,dx. ∥ g ∥ 2 = ⟨ g , g ⟩ = ∫ 0 L g ( x
要把 f f f 的一部分投影到非零函数 g g g 的方向上,系数必须满足
⟨ f − c g , g ⟩ = 0. \langle f-cg,g\rangle=0. ⟨ f − c g , g ⟩ = 0.
利用内积的线性性,
⟨ f , g ⟩ − c ⟨ g , g ⟩ = 0 , \langle f,g\rangle-c\langle g,g\rangle=0, ⟨ f , g ⟩ − c ⟨ g , g ⟩ = 0 ,
所以
c = ⟨ f , g ⟩ ⟨ g , g ⟩ . c=\frac{\langle f,g\rangle}{\langle g,g\rangle}. c = ⟨ g , g ⟩ ⟨ f , g ⟩ .
这不是背出来的“系数公式”,而是由误差与投影方向正交逼出来的。若 g g g 已经归一化为 ∥ g ∥ = 1 \|g\|=1 ∥ g ∥ = 1 ,系数就简化成 c = ⟨ f , g ⟩ c=\langle f,g\rangle c = ⟨ f , g ⟩ 。
图里的箭头借用平面投影来表示函数之间的关系。不要把箭头端点当成函数图像上的一个点;这里的长度和直角,分别由积分范数与积分内积定义。
正交族让多个投影互不干扰
设 { ϕ n } \{\phi_n\} { ϕ n } 是一组两两正交的函数:当 m ≠ n m\ne n m = n 时,
⟨ ϕ m , ϕ n ⟩ = 0. \langle \phi_m,\phi_n\rangle=0. ⟨ ϕ m , ϕ n ⟩ = 0.
寻找有限近似
S N ( x ) = ∑ n = 1 N c n ϕ n ( x ) S_N(x)=\sum_{n=1}^N c_n\phi_n(x) S N ( x ) = n = 1 ∑ N c n
时,让误差 f − S N f-S_N f − S N 分别与每个 ϕ k \phi_k ϕ k 正交。对固定的 k k k ,
0 = ⟨ f − ∑ n = 1 N c n ϕ n , ϕ k ⟩ = ⟨ f , ϕ k ⟩ − ∑ n = 1 N c n ⟨ ϕ n , ϕ k ⟩ . 0=\left\langle f-\sum_{n=1}^N c_n\phi_n,\phi_k\right\rangle
=\langle f,\phi_k\rangle-\sum_{n=1}^N c_n\langle\phi_n,\phi_k\rangle. 0 = ⟨ f − n = 1 ∑ N c
除了 n = k n=k n = k 的一项,其余内积都为零,于是
c k = ⟨ f , ϕ k ⟩ ∥ ϕ k ∥ 2 . c_k=\frac{\langle f,\phi_k\rangle}{\|\phi_k\|^2}. c k = ∥ ϕ k ∥ 2
正交性带来的好处很具体:求第 k k k 个系数时,不需要解一个相互纠缠的线性方程组。每个模态都有自己的“测量通道”。
投影系数描述的是
f f f 在某个方向上的成分,不是函数在某一点的高度。积分覆盖整个区间;因此局部尖峰、符号变化和对称性都会共同影响系数。
正交误差为什么就是最小误差
只说“令误差正交”还不够,我们要说明这样做有什么好处。记投影系数为 c n c_n c n ,任取另一组系数 d n d_n d n ,令 P N = ∑ n = 1 N d n ϕ n P_N=\sum_{n=1}^Nd_n\phi_n P N 。则
f − P N = ( f − S N ) + ( S N − P N ) . f-P_N=(f-S_N)+(S_N-P_N). f − P N = ( f − S N ) + (
第一项与所有保留的模态正交,第二项属于这些模态张成的空间,所以两项也正交。展开平方范数后,交叉项消失:
∥ f − P N ∥ 2 = ∥ f − S N ∥ 2 + ∑ n = 1 N ( c n − d n ) 2 ∥ ϕ n ∥ 2 . \|f-P_N\|^2=\|f-S_N\|^2+
\sum_{n=1}^N(c_n-d_n)^2\|\phi_n\|^2. ∥ f − P N ∥ 2 = ∥ f −
右侧多出的每一项都非负,只有 d n = c n d_n=c_n d n = c n 时全部为零。因此 Fourier 投影是这个有限维空间中唯一的最小平方误差近似。它没有承诺每一个位置都最准确,也没有承诺图像不会过冲。
把 P N = 0 P_N=0 P N = 0 代入同一关系,得到能量分解
∥ f ∥ 2 = ∥ f − S N ∥ 2 + ∑ n = 1 N c n 2 ∥ ϕ n ∥ 2 . \|f\|^2=\|f-S_N\|^2+\sum_{n=1}^Nc_n^2\|\phi_n\|^2. ∥ f ∥ 2 = ∥ f − S N ∥ 2
误差非负,于是有限和不超过 ∥ f ∥ 2 \|f\|^2 ∥ f ∥ 2 ;让 N N N 增加,就得到 Bessel 不等式
∑ n = 1 ∞ c n 2 ∥ ϕ n ∥ 2 ≤ ∥ f ∥ 2 . \sum_{n=1}^{\infty}c_n^2\|\phi_n\|^2\le\|f\|^2. n = 1 ∑ ∞ c n 2 ∥ ϕ n
如果再知道 S N → f S_N\to f S N → f 于 L 2 L^2 L 2 ,误差项趋于零,不等号便成为等号。这就是 Parseval 等式。正交性本身只给出不等式:若你的基函数漏掉某些方向,那些方向上的成分始终不会被投影捕捉到。
让基函数适应区间与边界
正弦级数:两端为零的空间形状
在 [ 0 , L ] [0,L] [ 0 , L ] 上,函数
sin n π x L , n = 1 , 2 , … \sin\frac{n\pi x}{L},\qquad n=1,2,\ldots sin L nπ x , n = 1 , 2 , …
两两正交,因为
∫ 0 L sin m π x L sin n π x L d x = { 0 , m ≠ n , L / 2 , m = n . \int_0^L\sin\frac{m\pi x}{L}\sin\frac{n\pi x}{L}\,dx
=\begin{cases}0,&m\ne n,\\ L/2,&m=n.\end{cases} ∫ 0 L sin L
因此正弦 Fourier 级数写成
f ( x ) ∼ ∑ n = 1 ∞ b n sin n π x L , b n = 2 L ∫ 0 L f ( x ) sin n π x L d x . f(x)\sim\sum_{n=1}^{\infty}b_n\sin\frac{n\pi x}{L},
\qquad
b_n=\frac{2}{L}\int_0^L f(x)\sin\frac{n\pi x}{L}\,dx. f ( x ) ∼ n = 1 ∑ ∞ b
每一项在 x = 0 , L x=0,L x = 0 , L 都为零。这就是为什么它自然出现在固定端、齐次 Dirichlet 边界的热方程和波动方程中。若 f f f 在端点本身不为零,级数仍可能在内部逼近它,但端点处的收敛和经典边界条件要单独检查,不能只看积分公式。
完整例题 1:求一个分段初值的正弦系数
在 [ 0 , π ] [0,\pi] [ 0 , π ] 上令
f ( x ) = { x , 0 ≤ x ≤ π / 2 , π − x , π / 2 < x ≤ π . f(x)=\begin{cases}x,&0\le x\le \pi/2,\\ \pi-x,&\pi/2<x\le\pi.\end{cases} f ( x ) = { x , π − x , 0
求其正弦级数系数 b n b_n b n ,并判断哪些模态不会出现。
区间长度是 L = π L=\pi L = π ,所以基函数为 sin ( n x ) \sin(nx) sin ( n x ) ,系数公式是 b n = 2 π ∫ 0 π f ( x ) sin ( n x ) d x b_n=\frac{2}{\pi}\int_0^\pi f(x)\sin(nx)\,dx b 。由于 在中点折起,积分必须按两段写,不能把 当成一条全区间直线。
这里的“哪些项为零”值得保留。算积分前先找对称性,往往能预告结果,也能在算完后检查符号是否合理。
余弦级数:偶延拓与零通量边界
余弦基函数
cos n π x L , n = 0 , 1 , 2 , … \cos\frac{n\pi x}{L},\qquad n=0,1,2,\ldots cos L nπ x , n = 0 , 1 , 2 , …
在 [ 0 , L ] [0,L] [ 0 , L ] 上也正交,但常数项的范数和其他项不同:
∫ 0 L 1 2 d x = L , ∫ 0 L cos 2 n π x L d x = L 2 ( n ≥ 1 ) . \int_0^L1^2dx=L,\qquad
\int_0^L\cos^2\frac{n\pi x}{L}dx=\frac L2\quad(n\ge1). ∫ 0 L 1 2 d x = L , ∫
因此余弦级数写作
f ( x ) ∼ a 0 2 + ∑ n = 1 ∞ a n cos n π x L , f(x)\sim\frac{a_0}{2}+\sum_{n=1}^{\infty}a_n\cos\frac{n\pi x}{L}, f ( x ) ∼ 2 a 0 +
其中
a n = 2 L ∫ 0 L f ( x ) cos n π x L d x , n ≥ 0. a_n=\frac{2}{L}\int_0^L f(x)\cos\frac{n\pi x}{L}\,dx,
\qquad n\ge0. a n = L 2 ∫ 0
把 a 0 / 2 a_0/2 a 0 /2 单独写出,是为了让 a n a_n a n 的公式对 n = 0 n=0 n = 0 也统一成立。余弦级数相当于把 f f f 偶延拓到 ,所以若 足够光滑,延拓后的端点斜率会影响收敛速度。空间上,余弦模态满足
d d x cos n π x L = 0 \frac{d}{dx}\cos\frac{n\pi x}{L}=0 d x d cos L nπ x = 0
在 x = 0 , L x=0,L x = 0 , L ,正好适配齐次 Neumann 条件 u x = 0 u_x=0 u x = 0 ,也就是理想绝热边界。
例如 f ( x ) = x f(x)=x f ( x ) = x 在 [ 0 , 1 ] [0,1] [ 0 , 1 ] 上的奇延拓是 F o ( x ) = x F_o(x)=x F o ( x ) = x ( ),随后作周期 的延拓;它在 两侧的周期极限是 与 ,故正弦级数在该端点收敛到 。偶延拓则是 ,周期连接后的左右值都是 ,余弦级数在 收敛到 。端点的区别来自所采用的延拓,不能只比较原区间内部那一条线。
余弦系数也算一次。 对 f ( x ) = x f(x)=x f ( x ) = x 、0 ≤ x ≤ π 0\le x\le\pi 0 ≤ x ≤ π ,有 a 0 = π a_0=\pi a 0 = π ,且分部积分给出
a n = 2 π ∫ 0 π x cos ( n x ) d x = 2 π n 2 ( ( − 1 ) n − 1 ) . a_n=\frac2\pi\int_0^\pi x\cos(nx)\,dx
=\frac{2}{\pi n^2}\bigl((-1)^n-1\bigr). a n = π 2 ∫
因此
x = π 2 − 4 π ∑ n ≥ 1 n 为奇数 cos ( n x ) n 2 . x=\frac\pi2-\frac4\pi\sum_{\substack{n\ge1\\n\text{ 为奇数}}}\frac{\cos(nx)}{n^2}. x = 2 π − π 4
偶延拓的函数连续,但在原点和周期接缝处有折角;系数仍按 1 / n 2 1/n^2 1/ n 2 衰减。虽然每个有限余弦和的端点导数都是零,原函数的单侧导数却是 1 1 1 。这提醒我们:函数值的收敛不自动许可逐项求导。
完整 Fourier 级数:常数、正弦和余弦都保留
在 [ − L , L ] [-L,L] [ − L , L ] 上,完整 Fourier 级数为
f ( x ) ∼ a 0 2 + ∑ n = 1 ∞ ( a n cos n π x L + b n sin n π x L ) , f(x)\sim\frac{a_0}{2}+\sum_{n=1}^{\infty}\left(a_n\cos\frac{n\pi x}{L}+b_n\sin\frac{n\pi x}{L}\right), f ( x ) ∼ 2 a 0 +
a n = 1 L ∫ − L L f ( x ) cos n π x L d x , b n = 1 L ∫ − L L f ( x ) sin n π x L d x . a_n=\frac1L\int_{-L}^Lf(x)\cos\frac{n\pi x}{L}\,dx,
\qquad
b_n=\frac1L\int_{-L}^Lf(x)\sin\frac{n\pi x}{L}\,dx. a n = L 1
这里 a 0 = 1 L ∫ − L L f ( x ) d x a_0=\frac1L\int_{-L}^Lf(x)dx a 0 = L 1 ∫ − L L ,所以 是区间平均值。若 是偶函数,所有 ;若 是奇函数,所有 ,包括平均值。这些结论来自奇偶函数在对称区间上的积分为零。
不要混淆系数的归一化:正弦/余弦级数通常在 [ 0 , L ] [0,L] [ 0 , L ] 用 2 / L 2/L 2/ L ,完整级数在 [ − L , L ] [-L,L] [ − L , L ] 用 1 / L 1/L 1/ L 。分母来自区间和基函数范数,换了区间或基函数,公式也要重新核对。
在实验中手动改变几个正弦系数,让近似曲线尽量贴近目标;再按“取正交投影”,比较积分平方误差。你可能让某个点贴得更近,却把别处拉得更远。误差账本会把这种取舍算出来:对 [ 0 , π ] [0,\pi] [ 0 , π ] 的正弦基,任意有限系数 d n d_n d n 的误差是
∫ 0 π ( f − ∑ d n sin n x ) 2 d x = ∥ f ∥ 2 − π ∑ d n b n + π 2 ∑ d n 2 . \int_0^\pi\left(f-\sum d_n\sin nx\right)^2dx
=\|f\|^2-\pi\sum d_nb_n+\frac\pi2\sum d_n^2. ∫ 0 π ( f − ∑ d n
级数到底在哪里收敛
“f f f 等于它的 Fourier 级数”必须说明等于的方式。常见的三种说法不是同一件事。
点态收敛:对固定的 x x x ,部分和 S N ( x ) S_N(x) S N ( x ) 随 N N N 趋近一个极限。
一致收敛:最大误差 sup x ∣ S N ( x ) − f ( x ) ∣ \sup_x|S_N(x)-f(x)| sup x ∣ S N ( x ) − f ( x ) ∣ 趋于零,意味着整个区间同时控制住误差。
均方收敛:
∫ ∣ S N − f ∣ 2 d x → 0. \int |S_N-f|^2\,dx\to0. ∫ ∣ S N − f ∣ 2 d x → 0.
它允许少数位置的误差较大,只要求整体平方误差消失。对于 PDE,均方意义常常已经足以把初值投影到模态空间并进行能量估计;若要声称经典解在边界和角点都连续,还需要更强的正则性和兼容条件。
这里采用一组具体的充分条件:一个周期内只有有限个分段,每段上的 f f f 为 C 1 C^1 C 1 ,且函数与导数在分段端点都有有限的单侧极限。在这些条件下,Fourier 级数在连续点收敛到 f ( x ) f(x) f ( x ) ,在跳跃点收敛到周期延拓后的左右极限平均:
lim N → ∞ S N ( x 0 ) = f ( x 0 − ) + f ( x 0 + ) 2 . \lim_{N\to\infty}S_N(x_0)=\frac{f(x_0^-)+f(x_0^+)}2. N → ∞ lim S N ( x 0 )
如果函数在跳点被人为定义成左值、右值或别的数,级数仍会收敛到两侧平均,而不一定收敛到那个单点定义值。单点的改动也不影响积分系数,这正说明 Fourier 投影看的是整体,而非一个孤立点。
在跳跃点看到部分和没有贴到函数的单点取值,不代表系数算错。需要比较的是左右极限的平均值;若图像在跳点附近出现持续的过冲,则要进一步判断 Gibbs 现象,而不是盲目增加项数。
平均值极限从哪里来
把区间缩放到 [ − π , π ] [-\pi,\pi] [ − π , π ] ,将系数公式代入有限部分和并交换有限求和与积分,可得
S N ( x ) = 1 2 π ∫ − π π D N ( t ) f ( x + t ) d t , D N ( t ) = 1 + 2 ∑ n = 1 N cos ( n t ) = sin ( ( N + 1 / 2 ) t ) sin ( t / 2 ) . S_N(x)=\frac1{2\pi}\int_{-\pi}^{\pi}D_N(t)f(x+t)\,dt,
\qquad
D_N(t)=1+2\sum_{n=1}^N\cos(nt)
=\frac{\sin((N+1/2)t)}{\sin(t/2)}. S N ( x ) =
最后一个等式可由有限几何和 ∑ n = − N N e i n t \sum_{n=-N}^Ne^{int} ∑ n = − N N e in t 得到;在 t = 0 t=0 t = 0 处取连续值 2 N + 1 2N+1 。由于每个余弦在 的积分为零, 在左右半个周期上的积分都等于 。于是减去左右平均后,正半轴上的误差为
1 2 π ∫ 0 π f ( x + t ) − f ( x + ) sin ( t / 2 ) sin ( ( N + 1 / 2 ) t ) d t , \frac1{2\pi}\int_0^\pi
\frac{f(x+t)-f(x^+)}{\sin(t/2)}\sin((N+1/2)t)\,dt, 2 π 1 ∫ 0 π
负半轴上有一项同样的表达式,只需用左极限。令正半轴上分式为 h ( t ) h(t) h ( t ) 。分段 C 1 C^1 C 1 条件保证当 t ↓ 0 t\downarrow0 t ↓ 0 时,h ( t ) → 2 f ′ ( x + ) h(t)\to2f'(x^+) h ( t ) → 2 ;远离零时分母不为零,故 。
函数 ψ N ( t ) = sin ( ( N + 1 / 2 ) t ) \psi_N(t)=\sin((N+1/2)t) ψ N ( t ) = sin (( N + 1/2 ) t ) 两两正交,平方范数都是 π / 2 \pi/2 π /2 ,这一点由积化和差积分即可核对。对 h h h 使用刚证明的 Bessel 不等式,得到
∑ N = 0 ∞ 2 π ∣ ⟨ h , ψ N ⟩ ∣ 2 ≤ ∥ h ∥ 2 . \sum_{N=0}^{\infty}\frac2\pi|\langle h,\psi_N\rangle|^2\le\|h\|^2. N = 0 ∑ ∞ π 2 ∣ ⟨ h , ψ
可收敛的非负级数,其每一项必趋于零,因此上述误差积分趋于零。左半轴同理,这就证明了左右平均的收敛结论。证明依赖的是局部两侧的光滑性,不是函数在跳点处被赋予的那个数。
如果想要一致收敛,还要控制整个区间。一个便于应用的充分条件是:周期函数 f ∈ C 2 f\in C^2 f ∈ C 2 ,且周期接缝处 f , f ′ f,f' f , f ′ 都匹配。对 Fourier 系数分部积分两次可得 ∣ a n ∣ + ∣ b n ∣ ≤ C / n 2 |a_n|+|b_n|\le C/n^2 ∣ a ;绝对值级数可求和,Weierstrass 判别法给出一致收敛,再用上面的点态结论辨认极限为 。正弦级数的 零端点条件见第 6 章的完整估计;余弦级数在足够光滑且端点导数为零时也能这样处理。这些是充分条件,不能反过来说缺了它们就一定不收敛。
Gibbs 现象:误差集中到跳跃附近
对有跳跃的函数,部分和在跳点两侧会出现振荡。增加 N N N 后,振荡区域会变窄,远离跳点的部分会更准确;但相对于跳跃高度,最靠近跳点的过冲比例趋向一个非零常数,因而不会完全消失。这就是 Gibbs 现象。
它并不违反点态收敛:跳点处的级数值可以收敛到左右平均,过冲的位置也会挤向跳点。它说明“每一点越来越准”和“最大误差趋于零”是不同的要求。若实际目标是减少可见振铃,可以使用 Cesàro/Fejér 平均等平滑部分和;这改变了近似策略,不是把原始 Fourier 部分和算得更久。
取周期方波 f ( x ) = 1 f(x)=1 f ( x ) = 1 (0 < x < π 0<x<\pi 0 < x < π )、f ( x ) = − 1 f(x)=-1 f ( x ) = − 1 (− π < x < 0 -\pi<x<0 ),跳点处约定为零。奇偶性使余弦系数为零,而
b n = 2 π ∫ 0 π sin ( n x ) d x = 2 ( 1 − ( − 1 ) n ) π n . b_n=\frac2\pi\int_0^\pi\sin(nx)\,dx
=\frac{2(1-(-1)^n)}{\pi n}. b n = π 2 ∫
只保留前 M M M 个非零项,记
Q M ( x ) = 4 π ∑ j = 0 M − 1 sin ( ( 2 j + 1 ) x ) 2 j + 1 . Q_M(x)=\frac4\pi\sum_{j=0}^{M-1}\frac{\sin((2j+1)x)}{2j+1}. Q M ( x ) = π 4
对这个有限和求导,利用余弦等差求和,得到
Q M ′ ( x ) = 2 π sin ( 2 M x ) sin x . Q_M'(x)=\frac2\pi\frac{\sin(2Mx)}{\sin x}. Q M ′ ( x ) = π 2
在 0 < x < π / ( 2 M ) 0<x<\pi/(2M) 0 < x < π / ( 2 M ) 上导数为正,越过 x M = π / ( 2 M ) x_M=\pi/(2M) x M = π / ( 2 M ) 后导数转负,所以这里是跳点右侧的第一座峰。随着 M M 增大, ;把 代入原有限和,它成为一个 Riemann 和,并趋向
2 π ∫ 0 π sin t t d t ≈ 1.17898. \frac2\pi\int_0^\pi\frac{\sin t}{t}\,dt\approx1.17898. π 2 ∫ 0 π t sin t
峰值比右侧平台 1 1 1 高约 0.17898 0.17898 0.17898 。方波跳跃总高度为 2 2 2 ,所以这约占跳高的 8.949 % 8.949\% 8.949% ,不是平台高度的 8.949 % 8.949\% 8.949% 。这一组随 M M M 移动的点正好说明:固定点收敛并不能控制全区间的最大误差。
把部分和平均,为什么能减轻振铃
Fejér 平均取
σ N = S 0 + S 1 + ⋯ + S N N + 1 = a 0 2 + ∑ n = 1 N ( 1 − n N + 1 ) ( a n cos n x + b n sin n x ) . \sigma_N=\frac{S_0+S_1+\cdots+S_N}{N+1}
=\frac{a_0}{2}+\sum_{n=1}^N\left(1-\frac n{N+1}\right)
\bigl(a_n\cos nx+b_n\sin nx\bigr). σ N = N + 1
它把高频项的权重逐渐降到零。平均 Dirichlet 核时,可以用 2 sin ( t / 2 ) sin ( ( k + 1 / 2 ) t ) = cos ( k t ) − cos ( ( k + 1 ) t ) 2\sin(t/2)\sin((k+1/2)t)=\cos(kt)-\cos((k+1)t) 2 sin ( t /2 ) sin (( k + 1/2 ) t ) = cos ( k t ) − cos (( k + 1 ) t ) 使求和中的相邻项抵消,再用 化简,得到
F N ( t ) = 1 N + 1 ( sin ( ( N + 1 ) t / 2 ) sin ( t / 2 ) ) 2 ≥ 0 , 1 2 π ∫ − π π F N ( t ) d t = 1. F_N(t)=\frac1{N+1}\left(\frac{\sin((N+1)t/2)}{\sin(t/2)}\right)^2\ge0,
\qquad
\frac1{2\pi}\int_{-\pi}^{\pi}F_N(t)\,dt=1. F N ( t ) = N +
在 t = 0 t=0 t = 0 处取 F N ( 0 ) = N + 1 F_N(0)=N+1 F N ( 0 ) = N + 1 。因此 σ N ( x ) \sigma_N(x) σ 是 的非负加权平均。方波的取值在 中,Fejér 平均也只能在这个范围里,代价是在跳跃处留下较平缓的过渡。
对连续周期函数,这个平均确实一致趋向 f f f 。证明只需把误差积分分成 ∣ t ∣ < δ |t|<\delta ∣ t ∣ < δ 和 ∣ t ∣ ≥ δ |t|\ge\delta ∣ t ∣ ≥ δ 两部分:前一部分由一致连续性控制,后一部分使用
F N ( t ) ≤ 1 ( N + 1 ) sin 2 ( δ / 2 ) ( δ ≤ ∣ t ∣ ≤ π ) . F_N(t)\le\frac1{(N+1)\sin^2(\delta/2)}
\quad(\delta\le|t|\le\pi). F N ( t ) ≤ ( N + 1 ) sin 2
具体地,若 ∣ f ( x − t ) − f ( x ) ∣ < ε / 2 |f(x-t)-f(x)|<\varepsilon/2 ∣ f ( x − t ) − f ( x ) ∣ < ε /2 对 ∣ t ∣ < δ |t|<\delta ∣ t ∣ < δ 成立,那么
∣ σ N ( x ) − f ( x ) ∣ ≤ ε 2 + 2 ∥ f ∥ ∞ ( N + 1 ) sin 2 ( δ / 2 ) . |\sigma_N(x)-f(x)|
\le\frac\varepsilon2+
\frac{2\|f\|_\infty}{(N+1)\sin^2(\delta/2)}. ∣ σ N ( x ) − f ( x ) ∣ ≤ 2
第二项随 N N N 趋零,而且这个上界不依赖 x x x ,所以是一致收敛。有跳跃的函数无法成为连续三角多项式的一致极限;Fejér 平均消除过冲,不等于让跳跃函数获得一致收敛。
实验中的 N N N 是最高保留频率,方波只有奇数频率非零;非零项数 M M M 另行显示。分别观察原始部分和、Fejér 平均和跳点放大图。积分平方误差由正交性精确计算;曲线虽然用采样点绘制,却不能把采样点中的最大误差当成整个区间的上确界。
均方收敛把误差账本补完整
对任意 f ∈ L 2 ( − π , π ) f\in L^2(-\pi,\pi) f ∈ L 2 ( − π , π ) ,完整 Fourier 部分和在均方意义下收敛到 f f f 。这里还需要一个基础逼近事实:连续周期函数在 L 2 L^2 L 2 中稠密。直观上,可先用阶梯函数逼近,再把每个跳跃和周期接缝放进很窄的过渡区,在其中作线性连接;改变只发生在总长度很小的集合上,平方积分误差可任意小。一般平方可积函数的阶梯逼近是积分理论中的稠密性结论,这里作为明确的先修事实使用。
其余证明可以在本章接起来。给定 ε > 0 \varepsilon>0 ε > 0 ,选连续周期函数 g g g 使 ∥ f − g ∥ 2 < ε / 2 \|f-g\|_2<\varepsilon/2 ∥ f − g ∥ 2 < ε /2 。刚才已证明 σ N g 一致趋向 ,因此在有限区间也均方趋近;足够大的 使 。而 是频率不超过 的三角多项式,最小平方误差性质保证
∥ f − S N f ∥ 2 ≤ ∥ f − σ N g ∥ 2 ≤ ∥ f − g ∥ 2 + ∥ g − σ N g ∥ 2 < ε . \|f-S_Nf\|_2\le\|f-\sigma_Ng\|_2
\le\|f-g\|_2+\|g-\sigma_Ng\|_2<\varepsilon. ∥ f − S N f ∥ 2 ≤ ∥ f
这便证明了均方收敛,也把 Parseval 等式中的误差项送到了零。对 [ 0 , L ] [0,L] [ 0 , L ] 的正弦展开,用奇延拓可得到
∫ 0 L f 2 d x = L 2 ∑ n = 1 ∞ b n 2 , ∥ f − S N ∥ 2 2 = L 2 ∑ n > N b n 2 . \int_0^L f^2\,dx=\frac L2\sum_{n=1}^{\infty}b_n^2,
\qquad
\|f-S_N\|_2^2=\frac L2\sum_{n>N}b_n^2. ∫ 0 L f 2 d x =
余弦展开必须保留不同范数的常数项:
∫ 0 L f 2 d x = L 4 a 0 2 + L 2 ∑ n = 1 ∞ a n 2 . \int_0^Lf^2\,dx=\frac L4a_0^2+\frac L2\sum_{n=1}^{\infty}a_n^2. ∫ 0 L f 2 d x = 4
例如三角初值的平方积分为 2 ∫ 0 π / 2 x 2 d x = π 3 / 12 2\int_0^{\pi/2}x^2dx=\pi^3/12 2 ∫ 0 π /2 x 2 d x = π 3 /12 ,前面算出的正弦系数给出同一个 Parseval 总量。对方波,整个周期的平方积分是 2 π 2\pi ,原始部分和的误差为
∥ f − S N ∥ 2 2 = 2 π − π ∑ n = 1 N b n 2 . \|f-S_N\|_2^2=2\pi-\pi\sum_{n=1}^Nb_n^2. ∥ f − S N ∥ 2 2 = 2 π − π
误差可以趋于零,同时第一座过冲峰的相对高度保持不消失。两者描述的是不同的量,并不冲突。
用级数解热方程:每个模态有自己的衰减钟
考虑固定端热方程
u t = κ u x x , 0 < x < L , t > 0 , u_t=\kappa u_{xx},\qquad 0<x<L, t>0, u t = κ u xx , 0 < x < L , t >
u ( 0 , t ) = u ( L , t ) = 0 , u ( x , 0 ) = f ( x ) . u(0,t)=u(L,t)=0,\qquad u(x,0)=f(x). u ( 0 , t ) = u ( L , t ) = 0 , u ( x , 0 ) = f ( x ) .
分离变量令 u = X ( x ) T ( t ) u=X(x)T(t) u = X ( x ) T ( t ) ,得到
T ′ κ T = X ′ ′ X = − λ . \frac{T'}{\kappa T}=\frac{X''}{X}=-\lambda. κ T T ′ = X X
空间问题是
X ′ ′ + λ X = 0 , X ( 0 ) = X ( L ) = 0. X''+\lambda X=0,\qquad X(0)=X(L)=0. X ′′ + λ X = 0 , X ( 0 ) = X ( L ) = 0.
非零解要求
λ n = ( n π L ) 2 , X n ( x ) = sin n π x L . \lambda_n=\left(\frac{n\pi}{L}\right)^2,
\qquad X_n(x)=\sin\frac{n\pi x}{L}. λ n = ( L nπ )
相应的时间方程 T n ′ + κ λ n T n = 0 T_n'+\kappa\lambda_nT_n=0 T n ′ + κ λ n T n = 0 给出
T n ( t ) = e − κ ( n π / L ) 2 t . T_n(t)=e^{-\kappa(n\pi/L)^2t}. T n ( t ) = e − κ ( nπ / L ) 2 t .
于是把初值做正弦投影:
f ( x ) ∼ ∑ n = 1 ∞ b n sin n π x L , b n = 2 L ∫ 0 L f ( x ) sin n π x L d x , f(x)\sim\sum_{n=1}^{\infty}b_n\sin\frac{n\pi x}{L},
\qquad b_n=\frac2L\int_0^Lf(x)\sin\frac{n\pi x}{L}\,dx, f ( x ) ∼ n = 1 ∑ ∞ b
得到
u ( x , t ) = ∑ n = 1 ∞ b n sin n π x L e − κ ( n π / L ) 2 t . u(x,t)=\sum_{n=1}^{\infty}b_n\sin\frac{n\pi x}{L}
e^{-\kappa(n\pi/L)^2t}. u ( x , t ) = n = 1 ∑ ∞ b n
这里有两次不同的工作:Fourier 投影决定“初始时每个模态有多少”,PDE 决定“每个模态随时间怎样变化”。不要把 b n b_n b n 和指数因子混成一个无来源的常数。
图中的指数率随波数平方增加。比较的是各模态相对于初始值的保留比例,不要把初始系数的大小与衰减率混在一起。
完整例题 2:一个模态如何独立演化
在 0 < x < π 0<x<\pi 0 < x < π 上求解
u t = u x x , u ( 0 , t ) = u ( π , t ) = 0 , u_t=u_{xx},\qquad u(0,t)=u(\pi,t)=0, u t = u xx , u ( 0 , t ) = u ( π , t
u ( x , 0 ) = 3 sin x − 2 sin ( 4 x ) + sin ( 7 x ) . u(x,0)=3\sin x-2\sin(4x)+\sin(7x). u ( x , 0 ) = 3 sin x − 2 sin ( 4 x ) + sin ( 7 x ) .
边界是齐次 Dirichlet,空间模态为 sin ( n x ) \sin(nx) sin ( n x ) 。初值已经写成这组正交基的有限组合,不需要重新计算积分;它的投影系数为 b 1 = 3 , b 4 = − 2 , b 7 = 1 b_1=3,b_4=-2,b_7=1 b 1 = 3 , b ,其余为零。
从这个例子可以看出,热扩散并不是把所有高度按同一个比例缩小。它选择性地抹掉高频细节,所以短时间仍能看见复杂形状,长时间只留下低频轮廓。
波动方程:同一空间投影,换成振动时间因子
固定端弦满足
u t t = c 2 u x x , u ( 0 , t ) = u ( L , t ) = 0. u_{tt}=c^2u_{xx},\qquad u(0,t)=u(L,t)=0. u tt = c 2 u xx , u ( 0 , t
分离变量后仍然得到 X n ( x ) = sin ( n π x / L ) X_n(x)=\sin(n\pi x/L) X n ( x ) = sin ( nπ x / L ) 。不同之处在时间方程:
T n ′ ′ + c 2 ( n π L ) 2 T n = 0. T_n''+c^2\left(\frac{n\pi}{L}\right)^2T_n=0. T n ′′ + c 2 ( L nπ
令 ω n = c n π / L \omega_n=cn\pi/L ω n = c nπ / L ,则
T n ( t ) = A n cos ( ω n t ) + B n sin ( ω n t ) . T_n(t)=A_n\cos(\omega_nt)+B_n\sin(\omega_nt). T n ( t ) = A n cos ( ω n
若初始位移为 f ( x ) f(x) f ( x ) 、初始速度为 g ( x ) g(x) g ( x ) ,分别展开
f ( x ) = ∑ n ≥ 1 a n sin n π x L , g ( x ) = ∑ n ≥ 1 d n sin n π x L , f(x)=\sum_{n\ge1}a_n\sin\frac{n\pi x}{L},
\qquad
g(x)=\sum_{n\ge1}d_n\sin\frac{n\pi x}{L}, f ( x ) = n ≥ 1 ∑ a n sin
其中
a n = 2 L ∫ 0 L f ( x ) sin n π x L d x , d n = 2 L ∫ 0 L g ( x ) sin n π x L d x . a_n=\frac2L\int_0^Lf(x)\sin\frac{n\pi x}{L}dx,
\qquad
d_n=\frac2L\int_0^Lg(x)\sin\frac{n\pi x}{L}dx. a n = L 2 ∫
逐项匹配 u ( x , 0 ) = f ( x ) u(x,0)=f(x) u ( x , 0 ) = f ( x ) 与 u t ( x , 0 ) = g ( x ) u_t(x,0)=g(x) u t ( x , 0 ) = g ( x ) ,得到
u ( x , t ) = ∑ n = 1 ∞ [ a n cos ( ω n t ) + d n ω n sin ( ω n t ) ] sin n π x L . u(x,t)=\sum_{n=1}^{\infty}\left[a_n\cos(\omega_nt)+\frac{d_n}{\omega_n}\sin(\omega_nt)\right]
\sin\frac{n\pi x}{L}. u ( x , t ) = n = 1 ∑ ∞ [ a
热方程里只有一个初值展开,因为时间方程是一阶;波动方程的时间方程是二阶,所以需要位移和速度两份初始数据。正弦空间基没有变,改变的是每个模态不再衰减,而是以自己的频率振动。
图中取 L = π , c = 2 , κ = 1 L=\pi,c=2,\kappa=1 L = π , c = 2 , κ = 1 ,初位移或初温为 3 sin 2 x 3\sin2x 3 sin 2 x ,波的初速度为零。波在某个时刻可以整条经过零位移,此时能量仍在速度中;热曲线则持续衰减。
用能量检查波动模态
对足够光滑且固定端的波动解,能量可写作
E ( t ) = 1 2 ∫ 0 L ( u t 2 + c 2 u x 2 ) d x . E(t)=\frac12\int_0^L\left(u_t^2+c^2u_x^2\right)dx. E ( t ) = 2 1 ∫ 0 L (
对时间求导并用分部积分:
E ′ ( t ) = ∫ 0 L ( u t u t t + c 2 u x u x t ) d x = ∫ 0 L u t ( u t t − c 2 u x x ) d x + c 2 [ u x u t ] 0 L . E'(t)=\int_0^L(u_tu_{tt}+c^2u_xu_{xt})dx
=\int_0^Lu_t(u_{tt}-c^2u_{xx})dx+c^2[u_xu_t]_0^L. E ′ ( t ) = ∫ 0
方程使第一项为零;固定端意味着 u ( 0 , t ) = u ( L , t ) = 0 u(0,t)=u(L,t)=0 u ( 0 , t ) = u ( L , t ) = 0 ,对时间求导得端点速度也为零,边界项消失。因此 E ′ ( t ) = 0 E'(t)=0 E ′ ( t ) = 0 。这个检查解释了为什么波动模态的时间因子是正弦/余弦而不是指数衰减,也能帮助发现把热方程时间因子误套到波动方程的错误。
这张图沿用第 5 章的物理张力 T T T 与线密度 ρ \rho ρ 。本节能量取 ρ = 1 \rho=1 ρ = 1 、T = c 2 T=c^2 T = c 2 ,所以两种记法一致。单个模态的动能与势能可以互相转换,总和不变。
模态展开中的方法选择
遇到 Fourier 题,先看空间区域和边界,再决定基函数。固定端 u = 0 u=0 u = 0 通常选择正弦;绝热端 u x = 0 u_x=0 u x = 0 通常选择余弦;两类边界混合时,空间本征函数可能是半整数频率的正弦或余弦组合,不能机械套 n π / L n\pi/L nπ / L 。整条实线没有离散端点,连续波数的 Fourier 变换更合适。
还要看时间阶数。热方程的时间方程是一阶,给初始温度即可;波动方程的时间方程是二阶,必须同时给初始位移和初始速度。若边界非齐次,先做边界提升,把问题改成齐次边界后再展开;否则每个正弦模态本身就不满足原端点值。
1 在 0<x<L 上,哪组基函数最自然地满足 X(0)=X(L)=0?
A. cos(nπx/L) B. sin(nπx/L) C. e^(nπx/L) D. 1+x
2 波动方程只给初始位移而不给初始速度时,通常已经足以唯一确定二阶时间问题。
混合边界也可以直接推一次。若 X ( 0 ) = 0 X(0)=0 X ( 0 ) = 0 、X ′ ( L ) = 0 X'(L)=0 X ′ ( L ) = 0 ,从 X ′ ′ + λ X = 0 X''+\lambda X=0 X 出发, 只给零函数; 时 ,导数在 不可能为零,除非 。所以写 ,由 得
k n = ( n + 1 / 2 ) π L , n = 0 , 1 , 2 , … . k_n=\frac{(n+1/2)\pi}{L},\qquad n=0,1,2,\ldots. k n = L ( n + 1/2 ) π , n =
这组函数仍然正交,平方范数为 L / 2 L/2 L /2 ,可以用积化和差积分核对。基函数不是凭边界名称背出来的,而是空间本征问题算出来的。
在实验里用同一组初始系数比较热与波。看清 k n k_n k n 如何进入热衰减率 κ k n 2 \kappa k_n^2 κ k n 2 和波频率 c k n ck_n c k n ;把弦长加倍,前者变为四分之一,后者变为二分之一。实验用有限个模态的精确和,能量由解析公式计算,不用动画的平滑程度替代守恒检查。
对于无限模态,热方程在任何 t ≥ ε > 0 t\ge\varepsilon>0 t ≥ ε > 0 上的逐项求导依据,已经在第 4 章用指数衰减估计证明。波方程没有同样的平滑作用:若要得到经典二阶解,可使用第 5 章给出的系数可和条件;仅知道 f , g ∈ L 2 f,g\in L^2 f , g ∈ L 2 ,不能直接断言级数处处二次可微。展开、均方初值和经典解是三个需要分别检查的步骤。
练习:从投影计算到 PDE 迁移
练习 1 设 g ( x ) = 1 g(x)=1 g ( x ) = 1 ,h ( x ) = cos ( π x / L ) h(x)=\cos(\pi x/L) h ( x ) = cos ( π x / L ) ,定义内积为 ⟨ f , g ⟩ = ∫ 0 L f ( x ) g ( x ) d x \langle f,g\rangle=\int_0^Lf(x)g(x)dx ⟨ f , 。求 、 ,并写出函数 在 方向上的投影。
查看解答 因为 g 2 = 1 g^2=1 g 2 = 1 ,所以 ∥ g ∥ 2 = L \|g\|^2=L ∥ g ∥ 2 = L 。对 h h h ,有 ∫ 0 L cos 2 ( π x / L 。因此投影为 。
练习 2 判断函数 f ( x ) = x f(x)=x f ( x ) = x 在 [ 0 , π ] [0,\pi] [ 0 , π ] 上的正弦级数中,系数 b n b_n b n 的表达式,并计算 b 1 b_1 b 与 。
查看解答 这里 b n = 2 π ∫ 0 π x sin ( n x ) d x b_n=\frac2\pi\int_0^\pi x\sin(nx)dx b n = π 2 ∫ 0 。分部积分得 ,所以 。因此 , 。端点处函数值不相同,级数在跳跃延拓的端点要按相邻极限平均来理解。
练习 3 对 [ − π , π ] [-\pi,\pi] [ − π , π ] 上的奇函数 f f f ,哪些完整 Fourier 系数必为零?若 f f f 是偶函数,结论如何改变?说明理由,而不只写答案。
查看解答 奇函数乘余弦仍是奇函数,所以所有 a n a_n a n (包括 a 0 a_0 a 0 )为零;只剩正弦系数 b n b_n b n 。偶函数乘正弦是奇函数,所以所有 b n b_n 为零;只剩常数项和余弦系数。理由是对称区间上奇函数积分为零。
练习 4 一个分段光滑函数在 x 0 x_0 x 0 处的左右极限为 2 2 2 与 8 8 8 ,但人为规定 f ( x 0 ) = 100 f(x_0)=100 f ( x 0 ) = 100 。其 Fourier 级数在 处应收敛到什么值?增加项数时跳跃附近的过冲会怎样?
查看解答 在跳跃点,级数收敛到左右极限平均值 ( 2 + 8 ) / 2 = 5 (2+8)/2=5 ( 2 + 8 ) /2 = 5 ,不受孤立点取值 100 100 100 的影响。增加项数会让振荡区域变窄、远处更准确,但相对于跳跃高度的 Gibbs 过冲不会完全消失。
练习 5 考虑 u t = 4 u x x u_t=4u_{xx} u t = 4 u xx ,0 < x < 2 0<x<2 0 < x < 2 ,两端固定为零,初值为 f ( x ) 。写出解,并比较两项在时间 时的衰减因子。
查看解答 空间模态的波数是 n π / L = n π / 2 n\pi/L=n\pi/2 nπ / L = nπ /2 。第一项的衰减因子为 e − 4 ( π / 2 ) 2 t = e − π 2 t e^{-4(\pi/2)^2t}=e^{-\pi^2t} e − 4 ( π /2 ) 2 t = e ;第三模态的因子为 。所以
练习 6 固定端波动方程的一个模态为 u ( x , t ) = A sin ( n π x / L ) cos ( ω n t ) u(x,t)=A\sin(n\pi x/L)\cos(\omega_nt) u ( x , t ) = A sin ( nπ x / L ) cos ( ω n t ) 。指出它的空间边界条件和初始速度,并说明为什么它不表现为热方程中的指数衰减。
查看解答 因为正弦因子在 x = 0 , L x=0,L x = 0 , L 为零,所以满足固定端边界。对时间求导得 u t ( x , 0 ) = 0 u_t(x,0)=0 u t ( x , 0 ) = 0 ,因为 sin ( 0 ) = 0 \sin(0)=0 sin ( 0 ) = 。它满足二阶时间方程 ,时间因子是 ,表示振动;热方程的一阶时间方程才产生 的衰减。
练习 7 在 [ 0 , π ] [0,\pi] [ 0 , π ] 上用 d sin x d\sin x d sin x 近似 f ( x ) = x f(x)=x f ( x ) = x 。求使积分平方误差最小的 d d d ;如果强行选取 d = π / 2 d=\pi/2 d ,使中点的函数值吻合,平方误差比最优值多多少?
查看解答 练习 2 已算出 b 1 = 2 b_1=2 b 1 = 2 ,故最佳系数为 d = 2 d=2 d = 2 ,最小平方误差是 π 3 / 3 − 2 π \pi^3/3-2\pi π 3 /3 − 2 π 。用本章的正交误差分解, 时多出的误差恰为 。在中点吻合,不能取代全区间的最小平方误差。
练习 8 证明方波的 Fourier 部分和不可能在整个周期上一致收敛到方波,即使把跳点处定义为左右平均。Fejér 平均始终不超出 [ − 1 , 1 ] [-1,1] [ − 1 , 1 ] ,能因此获得一致收敛吗?
查看解答 每个有限三角和都连续,而连续函数的一致极限必须连续:给定一点附近的误差界,选一个足够接近极限的连续近似,用三角不等式把两端逼近误差和中间的连续变化相加,就能证明极限连续。方波有跳跃,改变单点值不能消除两侧极限不相等,因此两种连续近似都不可能在全周期上一致收敛。没有过冲不等于最大误差趋于零。
练习 9 在 0 < x < L 0<x<L 0 < x < L 上考虑 u t = κ u x x u_t=\kappa u_{xx} u t = κ u xx ,边界为 u ( 0 , 、 ,初值 。写出解;把 加倍而保持同一归一化初始形状,衰减到初始幅度一半所需的时间如何变化?
查看解答 这是混合边界的 n = 1 n=1 n = 1 模态,k = 3 π / ( 2 L ) k=3\pi/(2L) k = 3 π / ( 2 L ) ,所以
u ( x , t ) = e − κ ( 3 π / ( 2 L ) ) 2 t sin 3 π x 2 L . u(x,t)=e^{-\kappa(3\pi/(2L))^2t}\sin\frac{3\pi x}{2L}. u ( x , t )
3 关于 Fourier 模态展开,下列哪些判断正确?
看到一个 Fourier 级数时,可以把检查压缩成三问:基函数是否满足边界?系数的归一化是否来自正确的内积范数?时间因子是否来自当前 PDE 的时间阶数?这三问分别抓住空间、投影和演化,能排除大多数套公式错误。