工程数学 计算方法 第四章 插值与曲线拟合方法

插值与曲线拟合方法

工程上常遇到的问题:y=f(x)在某处复杂或者未知时,欲求其中某处的函数值:用附近的其他值来推断f(x)。
测x0,x1,…,xn处函数值 f ( x 0 ) , f ( x 1 ) , . . . , f ( x n ) f(x_0),f(x_1),...,f(x_n) f(x0),f(x1),...,f(xn),构造g(x)≈f(x)。同时g’(x)≈f’(x),∫g(x)dx≈∫f(x)dx。
xi为插值节点, ( x i , y i ) {(x_i,y_i)} (xi,yi)为插值点,f(x)为被插值函数,g(x)为插值函数,最简单的形式为多项式。本章采用多项式插值。

对于g(x):存在否?唯一否?如何表示?准确否?

存在与唯一:给定区间[a,b]上互异的n+1点 { ( x j , f ( x j ) } j = 0 n \left\{(x_j,f(x_j)\right\}_{j=0}^n {(xj,f(xj)}j=0n,求 P n ( x ) ∈ P n P_n(x)\in P_n Pn(x)Pn使得 P n ( x j ) = f ( x j ) ,   j = 0 , 1 , . . . , n . P_n(x_j)=f(x_j),\,j=0,1,...,n. Pn(xj)=f(xj),j=0,1,...,n.
其中 P n P_n Pn表示次数不高于n的多项式:
P n ( x j ) = ∑ i = 0 n a i x j i = f ( x j )   ⇒   n 阶 线 性 方 程 组   ⇒   解 有 且 唯 一   P_n(x_j)=\sum_{i=0}^na_ix_j^i=f(x_j)\,\Rightarrow\,n阶线性方程组\,\Rightarrow\,解有且唯一\\\,\\ Pn(xj)=i=0naixji=f(xj)n线

可插值条件:无重合节点,即当 i ≠ j i \neq j i=j x i ≠ x j x_i \neq x_j xi=xj

Lagrange插值多项式

插值项要求 P n ( x i ) = f ( x i ) ,   i = 0 , 1 , . . . , n P_n(x_i)=f(x_i),\,i=0,1,...,n Pn(xi)=f(xi),i=0,1,...,n
故选取基本项lj使之对于节点xj结果为1,对于其他节点xi结果都为0。然后进行系数为yi的线性组合即可。

使x为xi时多项式为0,即含有项 ( x − x i ) (x-x_i) (xxi),即令 l j = A ∏ j = 0 , j ≠ i n ( x − x i ) l_j=A\prod_{j=0,j\neq i}^n(x-x_i) lj=Aj=0,j=in(xxi)
又因为x为 x j x_j xj时多项式不为0,故分母含有项 ( x j − x i ) (x_j-x_i) (xjxi)。也可由 l j ( x i ) = 1 l_j(x_i)=1 lj(xi)=1,得插值基函数为:
l j ( x ) = ∏ i = 0 , i ≠ j n x − x i x j − x i l_j(x)=\prod_{i=0,i\neq j}^n \frac{x-x_i}{x_j-x_i} lj(x)=i=0,i=jnxjxixxi
即满足
l j ( x i ) = δ i j ≜ { 1 , i = j , 0 , i ≠ j .   i , j = 0 , 1 , 2 , . . , n . l_j(x_i)=\delta _{ij}\triangleq \left\{\begin{array} {lr}1,&i=j,\\0,&i\neq j.\end{array}\right. \,i,j=0,1,2,..,n. lj(xi)=δij{1,0,i=j,i=j.i,j=0,1,2,..,n.
插值多项式即为 P n ( x ) = ∑ j = 0 n y j l j ( x ) ,   n > 0 P_n(x)=\sum_{j=0}^ny_jl_j(x),\,n>0 Pn(x)=j=0nyjlj(x),n>0

基:
Pn为lj(x)以yj作线性组合。lj(x)相互线性无关,作基函数,构成函数空间。
类似:

空间基向量 { i ⃗ , j ⃗ , k ⃗ , . . . } \{\vec i,\vec j,\vec k,... \} {i ,j ,k ,...}
多项式基项 { 1 , x , x 2 , . . . } \{1,x,x^2,...\} {1,x,x2,...}
微分方程 { 1 , y , y ′ , y ′ ′ , . . . } \{1,y,y',y'',...\} {1,y,y,y,...}

插值余项

R n ( x ) = f ( x ) − P n ( x ) = f ( n + 1 ) ( ξ ) ( n + 1 ) ! ω n + 1 ( x ) ,   x ∈ [ a , b ]   其 中 : ω n + 1 ( x ) = ∏ i = 0 n ( x − x i ) ,   ξ ∈ ( a , b ) R_n(x)=f(x)-P_n(x)=\frac{f^{(n+1)(\xi)}}{(n+1)!}\omega _{n+1}(x),\,x\in [a,b]\\\,\\ 其中:\omega _{n+1}(x)=\prod_{i=0}^n(x-x_i),\, \xi \in (a,b) Rn(x)=f(x)Pn(x)=(n+1)!f(n+1)(ξ)ωn+1(x),x[a,b]ωn+1(x)=i=0n(xxi),ξ(a,b)
当f(x)次数≤n时 f ( n + 1 ) ( x ) = 0    ∴ R n ( x ) = 0 f^{(n+1)}(x)=0\,\,\therefore R_n(x)=0 f(n+1)(x)=0Rn(x)=0
所以对于n次函数,至少有n+1个点时即可精确确定f(x)

内插与外推:
内插:插值区间中部使用插值(求新点)
外推:插值区间两端或之外使用插值
一般内插优于外推。

分段线性插值

Lagrange插值高于七阶时会产生Runge现象,即边缘震荡导致误差过大。
优化:分段低次插值。
注意:分段函数不是初等函数。

折线法:简单但不光滑,只用于简单计算。
三次样条插值,每段都是三次函数插值,且段间相接处斜率相等/连续。
每次都要解四元线性方程组,计算量太大,不考。

Newton插值法

实际应用中为提高插值精度或有参数更改,一般需要增减节点。而对于lagrange插值法若变更一个节点,则所有基函数必须重算,无承袭性,不方便。

重新选择基函数。
Newton经过计算后选择的基函数为 { 1 , ω 1 ( x ) , ω 2 ( x ) , . . . , ω n ( x ) } \{1,\omega _1(x),\omega _2(x),...,\omega _n(x)\} {1,ω1(x),ω2(x),...,ωn(x)}对应系数为 A 0 = 1 ,   A i = f [ x 0 , x 1 , . . . , x i ] ,   i = 1 , 2 , . . . , n A_0=1,\,A_i=f[x_0,x_1,...,x_i],\,i=1,2,...,n A0=1,Ai=f[x0,x1,...,xi],i=1,2,...,n

差商

定义:
0 阶 差 商 : f [ x i ] = f ( x i )   1 阶 差 商 : f [ x i , x j ] = f [ x i ] − f [ x j ] x i − x j   n 阶 差 商 : f [ x 0 , x 1 , . . . , x n ] = f [ x 0 , x 1 , . . . , x n − 1 ] − f [ x 1 , x 2 , . . . , x n ] x 0 − x n   = ∑ j = 0 n f ( x j ) ω n + 1 ′ ( x j ) 0阶差商:f[x_i]=f(x_i)\\\,\\ 1阶差商:f[x_i,x_j]=\frac{f[x_i]-f[x_j]}{x_i-x_j}\\\,\\ n阶差商:f[x_0,x_1,...,x_n]=\frac{f[x_0,x_1,...,x_{n-1}]-f[x_1,x_2,...,x_n]}{x_0-x_n}\\\,\\ =\sum _{j=0}^n \frac{f(x_j)}{\omega _{n+1}'(x_j)} 0f[xi]=f(xi)1f[xi,xj]=xixjf[xi]f[xj]nf[x0,x1,...,xn]=x0xnf[x0,x1,...,xn1]f[x1,x2,...,xn]=j=0nωn+1(xj)f(xj)
差商定义中分母为分子中不重叠的数值。
最后n阶差商的数值可知差商值与节点排序无关,有对称性。
n+1点算出的n阶差商唯一,这个了解即可。

差商反推f(x)

列写0至n阶差商,其中将i+1阶差商中的xi替换为x。
f [ x 0 , x 1 , . . . , x i , x ] = f [ x 0 , x 1 , . . . , x i − 2 , x i − 1 ] − f [ x 0 , x 1 , . . . , x i − 1 , x ] x i − x   ∴ f [ x 0 , x 1 , . . . , x i − 1 , x ] = f [ x 0 , x 1 , . . . , x i ] + f [ x 0 , x 1 , . . . , x i , x ] ( x − x i ) f[x_0,x_1,...,x_i,x]=\frac{f[x_0,x_1,...,x_{i-2},x_{i-1}]-f[x_0,x_1,...,x_{i-1},x]}{x_i-x}\\\,\\ \therefore f[x_0,x_1,...,x_{i-1},x]=f[x_0,x_1,...,x_i]+f[x_0,x_1,...,x_i,x](x-x_i) f[x0,x1,...,xi,x]=xixf[x0,x1,...,xi2,xi1]f[x0,x1,...,xi1,x]f[x0,x1,...,xi1,x]=f[x0,x1,...,xi]+f[x0,x1,...,xi,x](xxi)
高阶向低阶迭代,得:
f ( x ) = N n ( x ) + R n ( x ) = f ( x 0 ) + ∑ i = 1 n f [ x 0 , . . . , x i ] ω i ( x ) + f [ x 0 , x 1 , . . . , x n , x ] ω n + 1 ( x ) f(x)=N_n(x)+R_n(x) =f(x_0)+\sum _{i=1}^nf[x_0,...,x_i]\omega_i(x)+f[x_0,x_1,...,x_n,x]\omega_{n+1}(x) f(x)=Nn(x)+Rn(x)=f(x0)+i=1nf[x0,...,xi]ωi(x)+f[x0,x1,...,xn,x]ωn+1(x)
对于 i = 0 , 1 , 2 , . . . , n ,   有 R n ( x i ) = 0 = f ( x 1 ) − N n ( x i ) i=0,1,2,...,n,\,有R_n(x_i)=0=f(x_1)-N_n(x_i) i=0,1,2,...,n,Rn(xi)=0=f(x1)Nn(xi),由多项式插值唯一性得 P n ( x ) ≡ N n ( x i ) P_n(x)\equiv N_n(x_i) Pn(x)Nn(xi)
说明二者等价,只是形式不同。

由余项相等得:
R n ( x ) = f ( n + 1 ) ( ξ ) ( n + 1 ) ! ω n + 1 ( x ) = f [ x 0 , x 1 , . . . , x n , x ] ω n + 1 ( x )   ∴ f [ x 0 , . . . , x n ] = f ( n ) ( ξ ) n ! , ξ ∈ { x i } R_n(x)=\frac{f^{(n+1)(\xi)}}{(n+1)!}\omega _{n+1}(x)=f[x_0,x_1,...,x_n,x]\omega_{n+1}(x)\\\,\\ \therefore f[x_0,...,x_n]=\frac{f^{(n)}(\xi)}{n!},\xi\in\{ x_i\} Rn(x)=(n+1)!f(n+1)(ξ)ωn+1(x)=f[x0,x1,...,xn,x]ωn+1(x)f[x0,...,xn]=n!f(n)(ξ),ξ{xi}

f ( n ) ( x ) f^{(n)}(x) f(n)(x)为定值时可用此式求n阶差商。

计算

承袭性:
N n ( x ) = N n − 1 ( x ) + f [ x 0 , x 1 , . . . , x n ] ∏ i = 0 n − 1 ( x − x i ) ,   x ∈ [ a , b ] N_n(x)=N_{n-1}(x)+f[x_0,x_1,...,x_n]\prod _{i=0}^{n-1} (x-x_i),\,x\in [a,b] Nn(x)=Nn1(x)+f[x0,x1,...,xn]i=0n1(xxi),x[a,b]
Newton插值计算顺序

N n ( x ) = f ( x 0 ) + ∑ i = 1 n f [ x 0 , x 1 , . . . , x i ] ω i ( x )   = f ( x 0 ) + f [ x 0 , x 1 ] ( x − x 0 ) + f [ x 0 , x 1 , x 2 ] ( x − x 0 ) ( x − x 1 ) + f [ x 0 , x 1 , x 2 , x 3 ] ( x − x 0 ) ( x − x 1 ) ( x − x 2 ) + . . . + f [ x 0 , x 1 , . . . , x n ] ( x − x 0 ) ( x − x 1 ) . . . ( x − x n ) N_n(x)=f(x_0)+\sum _{i=1}^nf[x_0,x_1,...,x_i]\omega _i(x)\\\,\\ =f(x_0)+f[x_0,x_1](x-x_0)+f[x_0,x_1,x_2](x-x_0)(x-x_1)\\ +f[x_0,x_1,x_2,x_3](x-x_0)(x-x_1)(x-x_2)+...\\ +f[x_0,x_1,...,x_n](x-x_0)(x-x_1)...(x-x_n) Nn(x)=f(x0)+i=1nf[x0,x1,...,xi]ωi(x)=f(x0)+f[x0,x1](xx0)+f[x0,x1,x2](xx0)(xx1)+f[x0,x1,x2,x3](xx0)(xx1)(xx2)+...+f[x0,x1,...,xn](xx0)(xx1)...(xxn)

每列第一个为系数。多算一行相当于对上一次的结果进行修正,使之更加精确。
若加一个点,则只需多计算一行。

应试

Lagrange插值
插值基函数的图像(幂次/零点)。
求出基函数和系数带入后不必合并,没时间也没必要,得分点在于带入的式子对不对和估计值对不对。
插值余项(我觉得这东西没什么考头,也就背个公式估计个误差范围。但这个公式里面有f,就要求估计误差得知道f的精确值,那还估计个什么呢。硬出出题的话套公式就没什么了。)
R n ( x ) = f ( x ) − P n ( x ) = f ( n + 1 ) ( ξ ) ( n + 1 ) ! ω n + 1 ( x ) ,   x ∈ [ a , b ]   其 中 : ω n + 1 ( x ) = ∏ i = 0 n ( x − x i ) ,   ξ ∈ ( a , b ) R_n(x)=f(x)-P_n(x)=\frac{f^{(n+1)(\xi)}}{(n+1)!}\omega _{n+1}(x),\,x\in [a,b]\\\,\\ 其中:\omega _{n+1}(x)=\prod_{i=0}^n(x-x_i),\, \xi \in (a,b) Rn(x)=f(x)Pn(x)=(n+1)!f(n+1)(ξ)ωn+1(x),x[a,b]ωn+1(x)=i=0n(xxi),ξ(a,b)

Newton插值
差商的定义。高阶差商写法很多结果相同。
Newton插值计算步骤,曲线拟合和数值估计(就是把自变量值带入拟合的曲线)。
n阶差商的简便计算( f f f为n次函数时)(可能考选择题)。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值