对应教材 5.3.1–5.3.4、定理 5.4–5.5、例 4–5。老师课堂未讲,按教材补齐,标“教材有、课堂未讲”。
目标:分段三次 + 在内节点处 S,S′,S′′ 连续,兼顾精度与光滑性。
给定分划 a=x0<x1<⋯<xn=b 和函数值 yi=f(xi)。三次样条 S(x) 满足:
- 在每个子区间 [xi,xi+1] 上 S 是三次多项式;
- S(xi)=yi;
- S,S′,S′′ 在 [a,b] 上连续。
共有 n 段、每段 4 个系数,共 4n 个未知;插值条件 n+1 个,内节点连续性 3(n−1) 个,共 4n−2 个,还差 2 个条件,由边界条件补:
- 自然边界:S′′(x0)=S′′(xn)=0;
- 固支边界:S′(x0)=f′(x0),S′(xn)=f′(xn);
- 周期边界:S′(x0)=S′(xn),S′′(x0)=S′′(xn)。
记 Mi=S′′(xi),hi=xi+1−xi。由 S′′ 的线性插值和两次积分,得
Si(x)=6hiMi(xi+1−x)3+Mi+1(x−xi)3+(yi−6Mihi2)hixi+1−x+(yi+1−6Mi+1hi2)hix−xi.
利用 S′ 在内节点连续,得到三弯矩方程:
μiMi−1+2Mi+λiMi+1=di,i=1,…,n−1,
其中
μi=hi−1+hihi−1,λi=1−μi,di=hi−1+hi6(hiyi+1−yi−hi−1yi−yi−1).
这是三对角方程组,用追赶法 O(n) 求解。自然边界补 M0=Mn=0;固支边界把 S′(x0),S′(xn) 写成 M0,M1 与 Mn−1,Mn 的方程。
定理 5.4:在自然/固支/周期边界条件下,三次样条插值问题存在唯一解。
定理 5.5:若 f∈C4[a,b],则三次样条 S 满足
∥f(r)−S(r)∥∞=O(h4−r),r=0,1,2,3,
其中 h=maxhi。即函数值四阶、二阶导数二阶收敛。
若改以 mi=S′(xi) 为未知,利用 S′ 在内节点连续和 S′′ 连续,得到关于 mi 的三对角方程:
λimi−1+2mi+μimi+1=ci,
其中 ci=3(λihi−1yi−yi−1+μihiyi+1−yi)。与三弯矩法等价,只是未知量换成一阶导数;边界条件直接给 m0,mn 时更方便。
例 4(教材 5.3.2):给定
xf(x)122438f′(1)=1.3863,f′(3)=5.5452.
这是固支边界、n=2、h=1 的三次样条。三弯矩方程组为
410242014c1c2c3=14.77262436.9096.
解得
(c1,c2,c3)=(1.846575, 3.693150, 7.380825).
代回分段公式,可算得
S(1.5)≈2.827397,S(2.5)≈5.652741.
这组数据来自 f(x)=2x:21.5=2.828427、22.5=5.656854,与 S(1.5),S(2.5) 相差约 10−3;重点是把“边界条件 → 三对角方程 → 分段表达式”走通。
例 5(教材 5.3.4):对例 4 的数据,比较三弯矩法与三转角法的数值结果;两者给出同一条样条(唯一性),只是未知量不同。实际编程用追赶法,避免 O(n3) 的通用解方程。
覆盖核对
本节覆盖教材 5.3.1–5.3.4、定理 5.4–5.5、例 4–5;老师课堂未讲。下一节:5.4 曲线拟合。