数值方法——薄板样条插值(Thin-Plate Spline)
Posted Vic时代
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数值方法——薄板样条插值(Thin-Plate Spline)相关的知识,希望对你有一定的参考价值。
插值
假设已知函数 y=f(x) 在 N+1 个点 x1,x2,⋯,xN+1 处的函数值 y1,y2,⋯,yN+1 ,但函数的表达式 f(x) 未知,那么可以通过插值函数 p(x) 来逼近未知函数 f(x) ,并且 p(x) 必须满足
p(xk)=yk,k=1,2,⋯,N+1.(1)常见的插值函数的形式有多项式函数、样条函数。
多项式函数:令 p(x) 为 N 次多项式函数,于是
p(x) 有 N+1 个参数,而由公式(1)可知这 N+1 个参数满足 N+1 个约束条件,所以可以求出 p(x) 的表达式。样条函数:我们知道 N 阶多项式函数必然有
N−1 个极值点,所以得到的插值函数摆动会比较大,这有点像机器学习中的过拟合现象,可以用样条函数来避免这个问题。这里的样条函数其实就是分段函数,表示在相邻点 xk 和 xk+1 之间用低阶多项式函数 Sk(x) 进行插值。分段线性插值和三次样条插值都属于样条插值。
TPS
本文介绍的TPS针对的是插值问题的一种特殊情况,并且TSP插值函数的形式也比较新颖。
考虑这样一个插值问题:自变量
x
是2维空间中的一点,函数值
y
也是2维空间中的一点,并且都在笛卡尔坐标系下表示。给定
N
个自变量
使得
我们可以认为是求两个插值函数 Φ1(x) 和 Φ2(x) 。
TPS插值函数形式如下:
其中
c
是标量,向量
数值计算方法实验之按照按三弯矩方程及追赶法的三次样条插值 (MATLAB 代码)