【学习笔记】函数逼近与数据拟合
函数逼近与数据拟合
多项式插值
拉格朗日插值
插值公式
已知\(y=f(x)\)的函数表为
\(x\) | \(x_0\) | \(x_1\) | … | \(x_n\) |
---|---|---|---|---|
\(f(x)\) | \(f(x_0)\) | \(f(x_1)\) | … | \(f(x_n)\) |
寻找\(n\)次多项式\(L_n(x)\)使满足插值条件:\(f(x_i)=L_n(x_i)(i=0,...,n)\)
\(l_k(x)\)是设计出来的形式,满足条件。[1]
引入记号:
则:
插值误差 / 插值余项表达式
在非节点处有误差,记为\(R_n(x)\),则\(R_n(x)=f(x)-L_n(x)\)。
其中\(f^{(n+1)}\)表示(n+1)阶导数。
由于\(\xi\)在(a,b)内的具体位置通常不能确切给出,求\(M_{n+1}=\max_{a<x<b}|f^{(n+1)}(x)|\),得到误差的边界
可知,误差和节点\(x_0...x_n\)有关,为使误差小,应使\(|\omega_{n+1}(x)|\)尽可能小,即插值基点尽可能靠近\(x\)。
公式记忆
线性插值
抛物线插值
牛顿插值
基于拉格朗日插值的改进,拉氏插值在更新节点数量时,每次都要重新计算L,设计一种方法避免重复计算。
差商
称\(\frac{f(x_j)-f(x_i)}{x_j-x_i}\)为函数\(f(x)\)关于节点\(x_i,x_j\)的一阶差商,记为:
称两个一阶差商\(f[x_i,x_j]\)和\(f[x_j,x_k]\)之间的差商为二阶差商,即:
\(k\)阶差商:
基本性质:
-
\(k\)阶差商可表示为函数值的线性组合。
\[f[x_0,x_1,...,x_k]=\sum_{i=0}^n\frac{f(x_i)}{\omega^{\prime}_{k+1}(x_i)} \] -
差商具有对称性,在\(f[x_0,x_1,...,x_k]\)中任意改变节点次序,值不变。
\[f[x_0,x_1,x_2]=\frac{f[x_1,x_2]-f[x_0,x_1]}{x_2-x_0}=\frac{f[x_0,x_2]-f[x_0,x_1]}{x_2-x_1} \] -
\(n\)次多项式\(f(x)\)的\(k\)阶差商\(f[x,x_0,...,x_{k-1}]\),当\(k\le n\)是\(n-k\)次多项式,当\(k>n\)时其值恒等于0。
-
\(f[x,x_0,...,x_{k}]=\frac{f^{(k)}(\xi)}{k!}\),其中\(\xi\)介于\(x_0,...,x_k\)的最大值和最小值之间。
节点相重时的差商,有:
Newton插值多项式
用差商来构造:
则\(f(x)=N_n(x)+\tilde{R}_n(x)\)。
Newton插值多项式有递推关系式:
公式记忆
差商表
\(x_i\) | \(f(x_i)\) | 一阶差商 | 二阶差商 | 三阶差商 | 四阶差商 |
---|---|---|---|---|---|
\(x_0\) | \(f(x_0)\) | ||||
\(x_1\) | \(f(x_1)\) | \(f[x_0,x_1]=\frac{f(x_1)-f(x_0)}{x_1-x_0}\) | |||
\(x_2\) | \(f(x_2)\) | \(f[x_1,x_2]\) | \(f[x_0,x_1,x_2]=\frac{f[x_1,x_2]-f[x_0,x_1]}{x_2-x_0}\) | ||
\(x_3\) | \(f(x_3)\) | \(f[x_2,x_3]\) | \(f[x_1,x_2,x_3]\) | \(f[x_0,x_1,x_2,x_3]=\frac{f[x_1,x_2,x_3]-f[x_0,x_1,x_2]}{x_3-x_0}\) | |
\(x_4\) | \(f(x_4)\) | \(f[x_3,x_4]\) | \(f[x_2,x_3,x_4]\) | \(f[x_1,x_2,x_3,x_4]\) | \(f[x_0,x_1,x_2,x_3,x_4]\) |
* 等距节点插值
差分
等距节点:\(x_i=x_0+ih \ \ i = 0,1,...,n\),其中 \(h\) 称为步长。称等距节点对应的函数值之差为差分。\(f_{k+1}-f_k\) 为 \(f(x)\) 在 \(x_k\) 处步长为 \(h\) 的一阶向前差分,简称一阶差分:
\(f(x)\) 在 \(x_k\) 处步长为 \(h\) 的二阶向前差分:
\(f(x)\) 在 \(x_k\) 处步长为 \(h\) 的 \(m\) 阶向前差分:
差分和差商之间的关系:
将牛顿插值公式中各阶差商分别用相应的差分代替,得到等距节点的插值公式。
牛顿前插公式
已知节点 \(x_i = x_0+ih \ \ i = 0,1,...,n\),要用 \(m+1\) 个函数值信息计算靠近 \(x_0\) 附近点的函数近似值,则:
其中 \(t\) 表示 \(x=x_0+th \ \ 0 \le t \le m\),从 \(x\) 到 \(x_0\) 的步数。
牛顿后插公式
用 \(m+1\) 个函数值信息计算靠近 \(x_n\) 附近点的函数近似值,则:
公式记忆
一般当\(x\)靠近\(x_0\)时用前插,靠近\(x_n\)时用后插。如果对相同节点进行插值,前插公式和后插公式只有形式上的区别,实际是一个多项式,即:
常用公式:
三次前插
二次后插
PS: 差分值从差分表中直接读取
差分表
\(x_i\) | \(f_i\) | \(\Delta f_i\) | \(\Delta^2 f_i\) | \(\Delta^3 f_i\) | … | \(\Delta^n f_i\) |
---|---|---|---|---|---|---|
\(x_0\) | \(f_0\) | |||||
\(\Delta f_0\) | ||||||
\(x_1\) | \(f_1\) | \(\Delta^2 f_0\) | ||||
\(\Delta f_1\) | \(\Delta^3 f_0\) | |||||
\(x_2\) | \(f_2\) | \(\Delta^2 f_1\) | … | … | \(\Delta^n f_0\) | |
\(\Delta f_2\) | … | \(\Delta^3 f_{n-3}\) | ||||
\(x_3\) | \(f_3\) | … | \(\Delta^2 f_{n-2}\) | |||
… | \(\Delta f_{n-1}\) | |||||
\(x_n\) | \(f_n\) |
规律:前插就是上到下一条线的系数,后插就是下到上的一条线。n次插值用到n个系数。
埃尔米特插值
多项式插值在次数较高时,会产生Runge现象,解决方法是加入导数约束、分段插值。
埃尔米特插值不仅要求节点处函数值相等,还要求导数值相等。
设已知 \(y=f(x)\) 的函数及导数表为:
\(x_i\) | \(x_0\) | \(x_1\) | … | \(x_n\) |
---|---|---|---|---|
\(f(x_i)\) | \(f(x_0)\) | \(f(x_1)\) | … | \(f(x_n)\) |
\(f^{\prime}(x_i)\) | \(f^{\prime}(x_0)\) | \(f^{\prime}(x_1)\) | … | \(f^{\prime}(x_n)\) |
寻求 \(2n+1\) 次多项式 \(H_{2n+1}(x)\) 满足:
埃尔米特插值多项式
构造插值基函数 \(h_i(x),\bar{h}_i(x)\) 使得 \(H_{2n+1}(x)=\sum_{i=0}^nh_i(x)f(x_i)+\sum_{i=0}^n \bar{h}_i(x)f^{\prime}(x_i)\) 。
注意埃尔米特插值和拉格朗日插值的相同点
根据公式(2),有:
构造埃尔米特插值基函数:
对 \(l_i(x)\) 两端取对数求导后,可以得到 \(l^{\prime}_i(x)\)。
所以,埃尔米特插值多项式为:
注意:余项\(R=f_{原}-f_{插}\),给定了函数的导数,要注意0,要结合函数值,注意余项平方。
最小二乘拟合
最小二乘问题
由实验采集到大量观测数据:
\(x_i\) | \(x_1\) | \(x_2\) | \(x_3\) | … | \(x_N\)(N很大) |
---|---|---|---|---|---|
\(y_i\) | \(y_1\) | \(y_2\) | \(y_3\) | … | \(y_N\) |
已知基函数 \(\phi_0(x),\phi_1(x),...,\phi_n(x)(n \ll N )\)(需线性无关),寻找 \(p_n(x)=\sum_{k=0}^n a_k \phi_k(x)\) ,使得误差函数 \(\Phi(a_0,a_1,...,a_n)=\sum_{k=0}^N \omega_k(f(x_k)-p_n(x_k))^2\) 达到最小,其中 \(\omega_k\) 是权系数,称 \(p_n(x)\) 为拟合函数。[2]
记\(\delta_i=f(x_i)-p_n(x_i)(i=1,...,N)\) ,则称\(\delta_i\)为\(x_i\)处的偏差或残差。将基函数取为幂函数,即\(\phi_k(x)=x^k,k=0,1,...,n\),考虑误差函数:
称多元极值问题
为最小二乘问题,其解对应的
为数据 \((x_i,f(x_i)),i=0,...,N\) 的 \(n\) 次最小二乘拟合多项式。
解(42)式应满足方程组 \(\frac{\partial \Phi}{\partial a_j}=0\),即
此 \(n+1\) 阶线性方程组称为正规方程组(或法方程组)。
记公式
如果是 \(y=a+bx\),对应 \(j=0,1\),则 \(a,b\) 应满足的正规方程组为:
如果是 \(y=a+bx^2\),对应 \(j=0,2\),则 \(a,b\) 应满足的正规方程组为:
如果经验公式是幂函数形式,就先取对数变成加和形式。