数值分析:插值与拟合
复习下数值分析中的插值与拟合这部分内容。
插值
插值函数:存在简单易算的函数 p ( x ) p(x) p(x),使得 p ( x i ) = f ( x i ) p(x_i)=f(x_i) p(xi)=f(xi),则 p ( x ) p(x) p(x)称为 f ( x ) f(x) f(x)的插值函数。求 p ( x ) p(x) p(x)的方法就是插值法。
插值图示: 插值函数必须要经过插值节点处的函数值

常用的插值方法是按照所使用的插值函数来分类的,包括:
多项式插值
p ( x ) p(x) p(x)为多项式,最常用
多项式插值的存在唯一性定理
已知 n + 1 n+1 n+1个插值节点,则存在一个不超过 n n n次的多项式 p ( x ) = c 0 + c 1 x + . . . + c n x n p(x)=c_0+c_1x+...+c_nx^n p(x)=c0+c1x+...+cnxn满足插值条件,且这个函数是唯一的。
- 线性插值(一次多项式)
- 抛物线插值(二次多项式)
由对以上两种插值法的观察引出基函数插值法
在基函数插值法中,我们将插值多项式表示为: p ( x ) = a 0 z 0 ( x ) + a 1 z 1 ( x ) + . . . + a n z n ( x ) p(x)=a_0z_0(x)+a_1z_1(x)+...+a_nz_n(x) p(x)=a0z0(x)+a1z1(x)+...+anzn(x), z 0 ( x ) , . . . z n ( x ) z_0(x),...z_n(x) z0(x),...zn(x)是一组基函数( H n ( x ) 的 一 组 基 , H n ( x ) 是 一 个 n + 1 维 的 线 性 空 间 , 包 含 了 次 数 不 超 过 n 的 全 体 多 项 式 H_n(x)的一组基,H_n(x)是一个n+1维的线性空间,包含了次数不超过n的全体多项式 Hn(x)的一组基,Hn(x)是一个n+1维的线性空间,包含了次数不超过n的全体多项式)(待充实?????)
多项式 p ( x ) = c 0 + c 1 x + . . . + c n x n p(x)=c_0+c_1x+...+c_nx^n p(x)=c0+c1x+...+cnxn就可以看作是以 1 , x , . . . x n 1,x,...x^n 1,x,...xn为基函数
基函数插值法的重点是两个问题:
- 寻找合适的基函数
- 确定插值多项式在这组基函数下的线性表出系数
根据基函数的不同,有以下基函数插值法:
Lagrange插值
使用Lagrange插值基函数计算插值多项式的方法
优点:简单,可以直接写出插值多项式;计算机实现也简单
缺点:如果增加一个节点,全部插值基函数都要重新计算,很不方便,Newton插值可以避免这个问题
Newton插值
这里介绍了使用差商来得到Newton插值多项式的方法
优点:增加一个节点时,Newton插值公式只需在最后添加一项。但要注意新增节点需在已有插值节点之后
这里介绍下Hermite插值,不仅要求函数值相等,而且要求若干阶导数也相等的插值,称为Hermite插值
两种典型的Hermite插值:
-
三点三次Hermite插值
插值节点 x 0 , x 1 , x 2 x_0,x_1,x_2 x0,x1,x2,要求在 x 1 x_1 x1处,插值函数同原函数1阶导数相等
-
两点三次Hermite插值
插值节点 x 0 , x 1 x_0,x_1 x0,x1,要求在 x 0 , x 1 x_0,x_1 x0,x1处,插值函数同原函数1阶导数相等
多项式插值使用的注意事项: p ( x ) p(x) p(x)并非次数越高越好,高次多项式插值存在稳定性、大幅度震荡等问题,实际中很少使用
那么怎么处理这种情形?就是下面要讲的,使用使用分段低次多项式来逼近原函数
分段多项式插值
常用有以下方法:
分段线性插值
每个小区间上使用一次多项式插值
分段三次Hermite插值
每个小区间上使用两点三次Hermite多项式插值(需要额外信息:插值点的导数)
以上两种方法,分段线性插值保证了插值函数整体连续性,三次Hermite插值保证了插值函数整体一阶连续可导,已经是比较实用的插值方法。但在某些应用中,如机翼设计,对插值函数光滑性具有更高的要求,这就需要用到三次样条插值。
三次样条插值
要求插值函数在整个插值区间上二阶连续可导。在每个小区间上是三次多项式
求解三次样条插值,需要用到边界条件,即对样条函数在两个端点处的状态约束。
拟合
理清两个概念
-
函数逼近
给定 f ( x ) f(x) f(x),在某个简单易算的函数类中找到一个 p ( x ) p(x) p(x),使得 p ( x ) p(x) p(x)在某种度量下距离 f ( x ) f(x) f(x)最近
-
曲线拟合
给定带误差的数据项,在某个简单易算的函数类中找到一个 p ( x ) p(x) p(x),使得 p ( x ) p(x) p(x)在某种度量下距离 f ( x ) f(x) f(x)最近
逼近与拟合的两个关键点:
- 确定函数空间,即找一个什么样的函数来逼近 f ( x ) f(x) f(x)。这对于数据拟合问题尤其重要,通常需要根据数据的分布情况来确定函数空间的选取。
- 确定距离的度量标准
预备知识
线性空间
两个重要的线性空间:
- C [ a , b ] , 区 间 [ a , b ] 上 的 连 续 函 数 空 间 C[a,b],区间[a,b]上的连续函数空间 C[a,b],区间[a,b]上的连续函数空间
- R n , n 维 实 向 量 空 间 R^n,n维实向量空间 Rn,n维实向量空间
内积空间
常见内积:
-
R n R^n Rn
( x , y ) = y T x (x,y)=y^Tx (x,y)=yTx -
C [ a , b ] C[a,b] C[a,b]
( f , g ) = ∫ a b f ( x ) g ( x ) d x (f,g)=\int_a^bf(x)g(x)dx (f,g)=∫abf(x)g(x)dx
定义了内积的线性空间称为内积空间
其他跟内积相关的概念:
- 正交
- Cauchy-Schwarz不等式
最小二乘拟合
-
用正交多项式做最小二乘拟合
MATLAB 中使用正交多项式做最小二乘拟合的函数:
polyfit(x,y,n) -
非线性最小二乘
使用非线性函数做最小二乘拟合

被折叠的 条评论
为什么被折叠?



