数值方法——薄板样条插值(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 阶多项式函数必然有N1个极值点,所以得到的插值函数摆动会比较大,这有点像机器学习中的过拟合现象,可以用样条函数来避免这个问题。这里的样条函数其实就是分段函数,表示在相邻点 xk xk+1 之间用低阶多项式函数 Sk(x) 进行插值。分段线性插值和三次样条插值都属于样条插值。

TPS

本文介绍的TPS针对的是插值问题的一种特殊情况,并且TSP插值函数的形式也比较新颖。
考虑这样一个插值问题:自变量 x 是2维空间中的一点,函数值 y 也是2维空间中的一点,并且都在笛卡尔坐标系下表示。给定 N 个自变量xk和对应的函数值 yk ,求插值函数

Φ(x)=[Φ1(x)Φ2(x)]

使得

yk=Φ(xk).(2)

我们可以认为是求两个插值函数 Φ1(x) Φ2(x)

TPS插值函数形式如下:

Φ1(x)=c+aTx+wTs(x)(3)

其中 c 是标量,向量aR2×1,向量 w以上是关于数值方法——薄板样条插值(Thin-Plate Spline)的主要内容,如果未能解决你的问题,请参考以下文章

图形学插值函数理解与联系

图形学插值函数理解与联系

图形学插值函数理解与联系

数值计算方法实验之按照按三弯矩方程及追赶法的三次样条插值 (MATLAB 代码)

数值分析中的样条函数:使用scipy.interpolate.splrep函数实现

薄板样条形状变换运行时错误 [退出,代码 -1073741819]