对牛顿差分多项式的理解

继牛顿插值的差商多项式后,由于现实中的大部分数据都是等距的,于是提出了一种简便的差分计算。而差分又分为向前差分和向后差分。向前差分是以y0为基础,逐渐增加后面数据对插值多项式的影响。向后差分是以yn为基础,逐渐增加前面的数据对插值多项式的影响。

前向差分的计算方式是

一阶向前差分为:\Delta y_k=y_{k+1}-y_k

二阶向前差分为:\Delta^2 y_k=\Delta(\Delta y_k)=\Delta y_{k+1}-\Delta y_k

。。。

m阶向前差分为:\Delta^m y_k=\Delta(\Delta^{m-1} y_k)=\Delta^{m-1} y_{k+1}-\Delta^{m-1} y_k

后向差分的计算方式基本上与前向相同,没什么区别,只不过前向是y_{k+1}-y_k,而后向是y_k-y_{k-1},当然还有就是符号要倒过来。

一阶向后差分为:\triangledown y_k=y_k-y_{k-1}

。。。

m阶向后差分为:\triangledown^m y_k=\triangledown (\triangledowkn^{m-1} y_k)=\triangledown ^{m-1} y_k-\triangledown ^{m-1} y_{k-1}

此时f[x_0,x_1,...,x_m]的计算有了变化

由于是等距的,所以x_n=x_0+n\times h

f[x_0,x_1]=\frac{f(x_1)-f(x_0)}{h}=\frac{\Delta f(x_0)}{h}

其中f[x_1,x_2]=\frac{f(x_2)-f(x_1)}{h}=\frac{\Delta f(x_1)}{h}

f[x_0,x_1,x_2]=\frac{f[]x_1,x_2)-f[x_0,x_1])}{2h}=\frac{\frac{\Delta f(x_1)}{h}-\frac{\Delta f(x_0)}{h}}{2h}=\frac{\Delta ^2 f(x_0)}{2h^2}

f[x_0,x_1,x_2,x_3]=\frac{\Delta^3 f(x_0)}{3!h^3}

。。。

f[x_0,x_1,...,x_m]=\frac{\Delta^m f(x_0)}{m!h^m}

也可计算得到向后差分规律:

f[x_n,x_{n-1},...,x_{n-m}]=\frac{\triangledown ^m f(x_n)}{m!h^m}

其实很类似于泰勒公式了。

泰勒公式(从零处展开):

f(x)=f(0)+\frac{f^{'}(0) }{1!}x+\frac{f^{''}(0) }{2!}x^{2}+...+\frac{f^{(n)}(0) }{n!}x^{n}

原所求的插值多项式:

\begin{matrix} N_n\left ( x \right )= \ f\left [ x_0 \right ] +f[x_0,x_1](x-x_0) \\ +f\left [x_0,x_1,x_2 \right ](x-x_0)(x-x_1)+... \\ \ +f\left [x_0,x_1,...,x_n \right ](x-x_0)(x-x_1)\cdot ...\cdot (x-x_{n-1}) \end{matrix}

代入x_n=x_0+n\times h后的向前插值多项式为:

\begin{matrix} N_n\left ( x_m \right )= \ f(x_0)+\Delta f(x_0)h \\ +\frac{\Delta^2 f(x_0) }{2!}m(m-1)+... \\ \ \frac{\Delta^n f(x_0)}{n!}m(m-1)\cdot ...\cdot(m-n+1)\end{matrix}

x_m=x_n+m\times d向后插值多项式为:

\begin{matrix} N_n\left ( x_m \right )= \ f(x_n)+\triangledown f(x_n)d \\ +\frac{\triangledown ^2 f(x_n) }{2!}m(m+1)+... \\ \ \frac{\triangledown ^n f(x_n)}{n!}m(m+1)\cdot ...\cdot(m+n-1)\end{matrix}

代码实现过程和差商多项式类似,只是将记录的结果改为差分。

C++实现牛顿差商多项式

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值