您当前的位置: 首页 > 

RuiH.AI

暂无认证

  • 0浏览

    0关注

    274博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

数值计算之 插值法(6)样条插值

RuiH.AI 发布时间:2021-11-21 21:28:36 ,浏览量:0

数值计算之 插值法(6)样条插值
  • 前言
  • 分段插值存在的问题
  • 样条插值
  • 三次样条插值
  • 样条插值与分段埃尔米特插值的区别
  • 后记

前言

本篇介绍插值法的最后一节,样条插值。

分段插值存在的问题

采用分段插值可以避免龙格现象,提升插值精度,但是分段插值的结果并不平滑。采用分段三次埃尔米特插值能够使得插值结果在节点附近相对平滑(没有突变点)。但是其平滑性也只是对于一阶导而言的。

为了让插值结果具有更好的平滑性,可以使用样条插值。

样条插值

对于待插值函数 f ( x ) f(x) f(x),已知节点 x 0 , x 1 , … , x n x_0,x_1,\dots,x_n x0​,x1​,…,xn​处的函数值,将相邻两节点进行分段,获得n个插值小区间,在每个区间内使用k次多项式 S i ( x ) S_i(x) Si​(x)插值,使其满足插值条件与k-1阶平滑性: S i ( x i ) = f ( x i ) , S i ( x i + 1 ) = f ( x i + 1 ) , 0 ≤ i ≤ n − 1 ( 1 ) S i ( j ) ( x i + 1 ) = S i + 1 ( j ) ( x i + 1 ) , 0 ≤ i ≤ n − 2 , 1 ≤ j ≤ k − 1 ( 2 ) S_i(x_i)=f(x_i),S_i(x_{i+1})=f(x_{i+1}),0\le i\le n-1\quad (1) \\ \quad \\ S_i^{(j)}(x_{i+1})=S_{i+1}^{(j)}(x_{i+1}),0\le i\le n-2,1\le j\le k-1\quad (2) \\ Si​(xi​)=f(xi​),Si​(xi+1​)=f(xi+1​),0≤i≤n−1(1)Si(j)​(xi+1​)=Si+1(j)​(xi+1​),0≤i≤n−2,1≤j≤k−1(2) 将每段插值结果组合后,就是样条插值。

三次样条插值

比较常用的是三次样条插值法,即假设上面的 S i ( x ) S_i(x) Si​(x)是三次多项式: S i ( x ) = a i + b i x + c i x 2 + d i x 3 S_i(x)=a_i+b_ix+c_ix^2+d_ix^3 Si​(x)=ai​+bi​x+ci​x2+di​x3 由上式可知,一段三次样条含有4个未知数,则节点 x 0 , x 1 , … , x n x_0,x_1,\dots,x_n x0​,x1​,…,xn​对应的三次样条含有4n个未知数。

每个节点 x 0 , x 1 , … , x n x_0,x_1,\dots,x_n x0​,x1​,…,xn​都满足式(1),产生2n个等式。

每个节点 x 0 , x 1 , … , x n x_0,x_1,\dots,x_n x0​,x1​,…,xn​都满足式(2),产生2(n-1)个等式。

因此,三次样条插值本身满足的条件只能形成4n-2个方程,少于未知参数量4n,必须添加额外条件:

自然边界: S ′ ′ ( x 0 ) = S ′ ′ ( x n ) = 0 S''(x_0)=S''(x_n)=0 S′′(x0​)=S′′(xn​)=0 固定边界: S ′ ( x 0 ) = c 1 , S ′ ( x n ) = c 2 S'(x_0)=c_1,S'(x_n)=c_2 S′(x0​)=c1​,S′(xn​)=c2​ 周期样条: S ′ ( x 0 ) = S ′ ( x n ) , S ′ ′ ( x 0 ) = S ′ ′ ( x n ) S'(x_0)=S'(x_n),S''(x_0)=S''(x_n) S′(x0​)=S′(xn​),S′′(x0​)=S′′(xn​) Not-a-knot: S ′ ′ ′ ( x 0 ) = S ′ ′ ′ ( x 1 ) , S ′ ′ ′ ( x n − 1 ) = S ′ ′ ′ ( x n ) S'''(x_0)=S'''(x_1),S'''(x_{n-1})=S'''(x_{n}) S′′′(x0​)=S′′′(x1​),S′′′(xn−1​)=S′′′(xn​)

实际上可以自行设定条件,只要能够额外产生两个方程。

在这里插入图片描述

样条插值与分段埃尔米特插值的区别

样条插值曲线本身是光滑的,因为样条需要满足节点插值条件和平滑性。

分段埃尔米特插值需要同时满足节点函数值与导数值。换言之,埃米尔特插值的平滑性是由给定的节点导数值决定的。

后记

终于把插值给搞完了。下篇就是拟合了。

关注
打赏
1658651101
查看更多评论
立即登录/注册

微信扫码登录

0.1248s