第3讲 牛顿插值公式

合集下载

牛顿法代数插值ndash差商表的求法

牛顿法代数插值ndash差商表的求法

牛顿法代数插值ndash 差商表的求法原文地址:牛顿法代数插值–差商表的求法作者:大关牛顿法代数插值–差商表的求法下面的求插商的方法并不是好的求插商的方式,因为他的效率并不是很高,不论是从空间效率还是时间效率,但是下面主要探讨的是一种将塔形的数据转换成一位数组的方式。

实际上求插商仅通过一个n个元素的一位数组就能解决,但本文强调的是一种思路,希望对大家有所借鉴。

牛顿插商公式:f[xi,xj]=(f(xj)– f(xi))/(xj– xi)f[xi,xj,xk]=(f[xj,xk]– f[xi,xj])/(xk– xi)….f[x0,x1,x2…,xn]=(f[x1,x2,…,xn]– f[x0,x1,…,xn-1])/(xn– x0)转换成均插表(或称差商表)形式如下:定义1:f[xi,xi+1,…xj]简记为f(i,j)其中i=0&&i=n&&j=0&&j=n&&i j;记f(xi)为f[xi,xi]即f(i,i)根据定义1可以推出:f[x0,x1]=f(0,1),f[x0,x1…xn]=f(0,n)….根据定义1:可以将插商表转换为如下形式。

根据上图,可以给出实际一维数组存储时的序列关系,如下图所示:此时f(0,0)位置是数组下标0,f(1,1)是数组下标为1….这样,我们从中找出相应的规律。

推论1:已知f(i,j),n为变量的数目,令k=j– i。

当k不等于0时,f(i,j)在数组中的下标通过计算得:Index=k*n–((k-1)*k)/2+i当k等于0时Index=i。

推论1很容易证明(实际就是一个等差数列求和问题)这里证明略。

推论2:n为变量的数目,则一维数组的长度可以计算得((1+n)*n)/2推论2可以通过等差数列求和得以证明。

证明略。

推论3:各阶插商就是f(0,k)k=1,2….n.推论3:根据插商的定义和定义1可以直接推出。

53第三节 Newton插值多项式

53第三节 Newton插值多项式

利用N2(x)又可得过前四点的三次牛顿插值多项式 N3( x) N2( x) 0.1970( x 0.40)(x 0.55)(x 0.65)
故 f (0.596) N3(0.596) 0.6319145 f [x0 , , x4 ] 0.0344 可得N3(x)的截断误差
f [x, x0 ,L , xn1] f [x0 , x1,L , xn] f [x, x0,L , xn]( x xn ) 依次把后式代入前式,最后得
f ( x) f ( x0 ) f [x, x0 ]( x x0 ) f ( x0 ) f [ x0 , x1]( x x0 ) f [x, x0 , x1]( x x0 )( x x1 ) f ( x0 ) f [ x0 , x1]( x x0 ) f [x0 , x1, x2 ]( x x0 )( x x1 ) f [x, x0 , x1, x2 ]( x x0 )( x x1 )( x x2 )
1
数学学院 信息与计算科学系
分析“承袭性”,先考察的n=1情形,此时线
性插值多项式记为P1(x), 它满足插值条件 P1(x0)=f(x0), P1(x1)=f(x1), 用(2.1)式的点斜式表示为
P1( x)
f ( x0 )
f
(
x1 ) x1

f( x0
x0 )
(
x

x0
),
它可看成是零次多项式的修正P0(x)=f(x0),即
则Pn(x)可表示为
Pn( x) a0 a1( x x0 ) L an( x x0 )L ( x xn1),
其中a0,a1,…, an为待定系数,可由条件(3.1)确定. 与 拉格朗日插值不同,这里的Pn(x)是由基函数{1,x-x0, …,(x-x0)…(x-xn-1)}逐次递推得到的. 为了给出系数 ai(i=0,1, …,n)的表达式,需引进差商(即均差)的定义.

第3讲 牛顿插值多项式

第3讲 牛顿插值多项式
DEPARTMENT OF MATHEMATICS
2,利用差商表的最外一行,构造插值多项式
N n ( x) = f ( x0 ) + f [ x0 , x1 ]( x x0 ) + L + f [ x0 ,L , xn ]( x x0 ) L ( x xn 1 )
例子
2点Newton型插值
f ( x1 ) f ( x 0 ) N 1 ( x ) = f ( x0 ) + ( x x0 ) x1 x 0
n
性质2
数 学 系 Sichuan Agricultural University
DEPARTMENT OF MATHEMATICS
f n+1 (ξ ) 同样 Nn ( x) 的误差为 Rn ( x) = ( x x0 )L( x xn ) (n + 1)!
另一方面 设 {xi }in=0 Newton插值为Nn ( x) 则有 {xi }in=0 U {a}为Nn+1 (t ) = Nn (t ) + f [ x0 ,L, xn , a](t x0 )L(t xn ) Nn+1 (a) = f (a) ∴ f (a) Nn (a) = f [ x0 ,L, xn , a](a x0 )L(a xn )
f ( x1 ) f ( x0 ) a1 = = f [ x0 , x1 ] x1 x0
1 f ( x2 ) f ( x0 ) a2 = a1 x2 x1 x2 x0 1 ( f [ x2 , x0 ] f [ x1 , x0 ]) = f [ x2 , x1 , x0 ] = x2 x1
i 0 , L , i k 是 0 , L , k 的任意排列
数 学 系 Sichuan Agricultural University

计算方法 3 牛顿插值

计算方法 3 牛顿插值
计算方法(2016/2017 第一学期) 贾飞 西南科技大学 制造科学与工程学院
2
分析
显然, L2 ( x0 ) y0,L2 ( x1 ) y1;利用插值 条件, L2 ( x2 ) y2 y1 y0 y 2 y0 ( x2 x0 ) a ( x2 x0 )( x2 x1 ) x1 x0 y2 y0 y1 y0 x2 x0 x1 x0 y1 y0 a L2 y0 ( x x0 ) x2 x1 x1 x0 y2 y0 y1 y0 x2 x0 x1 x0 ( x x0 )( x x1 ) x2 x1
计算方法(2016/2017 第一学期) 贾飞 西南科技大学 制造科学与工程学院
9
牛顿基本插值公式
其中,线性部分 N 1 ( x ) f ( x0 ) f [ x0 , x1 ]( x x0 ) 满足 N 1 ( x0 ) f ( x 0 ) f ( x1 ) f ( x0 ) N 1 ( x1 ) f ( x0 ) ( x1 x0 ) f ( x1 ) x1 x0 N 1 ( x ) 为 f ( x ) 以 x0,x1 为插值结点的 线性插值函数,即: N ( 1 x ) L1 ( x )
西南科技大学
制造科学与工程学院
16
解:构造差商表如下,
xi -2 0 f(xi ) 1阶 17 1 -8 1 17 3 8 1.25 2阶 3阶
1
2
2
19
N 3 ( x ) 17 8( x 2) 3( x 2) x 1.25( x 2) x ( x 1) f 0.9 N 3 (0.9) 1.30375, R3 0.9 1.25 0.9 2 0.9 0.9 1 0.9 2 0.358875

等距节点Newton插值公式

等距节点Newton插值公式

等距节点Newton插值公式
插商与差分的关系
(1)用前插表示N(x)
在等距节点条件下有:
f [x0 , x1]
f
( x1 ) x1
f (x0 x0
)
1 h
f0
f [ x0 , x1,x2 ]
f [ x1, x2 ]) f [ x0 , x1]) x2 x0
1 h
f1
1 h
f 0
2h
1 2!h 2
数值计算方法
1)...(t
n)
f
( n 1)
(
),
(x0 , x0 h)
(2)用后插表示N(x)
如果将节点x0 , x1,...,xn到排序为:xn , xn1,...x0 , 则Newton插值公式为: Nn (x) f (xn ) (x xn ) f [xn , xn1]
(x xn )(x xn1) f [xn , xn1, xn2 ] ... (x xn )(x xn1)...(x x1) f [xn , xn1,...x1, x0 ] 同样有:
2 f0
一般有
f [ x0 , x1,...,xn ]
1 n!h n
n
f0
若令x x0 th,则Newton插值公式和余式具有形式
Nn (x) Nn (x0 th)
f0
t 1!
f0
t
(t 2!
1)
2
f0
.
.
.
t
(t
1)
...(t n!
n
1)
n
f0
Rn
(x)
h n 1 t(t
(n 1)!
0.032 585
-0.148 411

牛顿插值公式

牛顿插值公式

end
2
for i=1:m
1.5
t0=t(i);s=f(n); 1
for k=n:-1:2
s=f(k-1)+s*(t0-x(k-1));
0.5
end
0
y1(i)=s; End
-0.5
-5
0
5
plot(x,y,'ko',t,y1,'r',t,y0,'k')
谢谢观看! 2020
一阶差商 f [ x j , x j1]
f ( x j1) f ( x j ) x j1 x j
f ( x j ) f ( x j1) x j x j1 x j1 x j
( j = 0,1,…,n-1 )
二阶差商
f [x j , x j1, x j2 ]
f [x j1, x j2 ] f [x j , x j1] xj2 xj
f [ x0 , x1 , x2 ]
f [ x1 , x2 ] f [ x0 , x1 ] x2 x0
a0 = f(x0), a1 = f[x1, x2], a2 = f[x0, x1, x2]
P(x)=a0 + a1(x – x0) + a2 (x – x0)(x – x1)
定义5.3 若已知函数 f(x) 在点 x0, x1, ···, xn 处的 值 f(x0), f(x1), ···, f(xn).如果 i ≠ j ,则
N ( x) f ( x0 ) f [ x0 , x1 ](x x0 ) f [ x0 , x1 , x2 ](x x0 )(x x1 ) f [ x0 , x1 , , xn ](x x0 )(x x1 ) ( x xn1 )

牛顿插值法原理及应用

牛顿插值法原理及应用

牛顿插值法插值法是利用函数f (x)在某区间中若干点的函数值,作出适当的特定函数,在这些点上取已知值,在区间的其他点上用这特定函数的值作为函数f (x)的近似值。

如果这特定函数是多项式,就称它为插值多项式。

当插值节点增减时全部插值基函数均要随之变化,这在实际计算中很不方便。

为了克服这一缺点,提出了牛顿插值。

牛顿插值通过求各阶差商,递推得到的一个公式:f(x)=f[x0]+f[x0,x1](x-x0)+f[x0,x1,x2](x-x0)(x-x1)+...f[x0,...xn](x-x0 )...(x-xn-1)+Rn(x)。

插值函数插值函数的概念及相关性质[1]定义:设连续函数y-f(x) 在区间[a,b]上有定义,已知在n+1个互异的点x0,x1,…xn上取值分别为y0,y1,…yn (设a≤ x1≤x2……≤xn≤b)。

若在函数类中存在以简单函数P(x) ,使得P(xi)=yi,则称P(x) 为f(x)的插值函数.称x1,x2,…xn 为插值节点,称[a,b]为插值区间。

定理:n次代数插值问题的解存在且唯一。

牛顿插值法C程序程序框图#include<stdio.h>void main(){float x[11],y[11][11],xx,temp,newton;int i,j,n;printf("Newton插值:\n请输入要运算的值:x=");scanf("%f",&xx);printf("请输入插值的次数(n<11):n=");scanf("%d",&n);printf("请输入%d组值:\n",n+1);for(i=0;i<n+1;i++){ printf("x%d=",i);scanf("%f",&x[i]);printf("y%d=",i);scanf("%f",&y[0][i]);}for(i=1;i<n+1;i++)for(j=i;j<n+1;j++){ if(i>1)y[i][j]=(y[i-1][j]-y[i-1][j-1])/(x[j]-x[j-i]);elsey[i][j]=(y[i-1][j]-y[i-1][j-1])/(x[j]-x[j-1]);printf("%f\n",y[i][i]);}temp=1;newton=y[0][0];for(i=1;i<n+1;i++){ temp=temp*(xx-x[i-1]);newton=newton+y[i][i]*temp;}printf("求得的结果为:N(%.4f)=%9f\n",xx,newton);牛顿插值法Matlab程序function f = Newton(x,y,x0)syms t;if(length(x) == length(y))n = length(x);c(1:n) = 0.0;elsedisp(&apos;x和y的维数不相等!&apos;);return;endf = y(1);y1 = 0;l = 1;for(i=1:n-1)for(j=i+1:n)y1(j) = (y(j)-y(i))/(x(j)-x(i));endc(i) = y1(i+1);l = l*(t-x(i));f = f + c(i)*l;simplify(f);y = y1;if(i==n-1)if(nargin == 3)f = subs(f,&apos;t&apos;,x0);elsef = collect(f); %将插值多项式展开f = vpa(f, 6);endend牛顿插值法摘要:值法利用函数f (x)在某区间中若干点的函数值,作出适当的特定函数,在这些点上取已知值,在区间的其他点上用这特定函数的值作为函数f (x)的近似值。

牛顿均差差值

牛顿均差差值
n+ f ( n+1) (ξ x ) f [ x , x 0 , ... , x n ]ω n +1 ( x ) = ω n +1 ( x ) ( n + 1) !
f ( n ) (ξ ) f [ x 0 , ... , x n ] = , ξ ∈ ( x min , x max ) n!
的函数表如下, 例 f(x)的函数表如下,用三次牛顿插值计算 的函数表如下 用三次牛顿插值计算f(0.596)的近似值 的近似值

y ← y+t*A(k,k) k ← k+1
N
k>N
Y
输出y 输出
§2 Newton’s Interpolation
等距节点公式 /* Formulae with Equal Spacing */ 牛顿基本插值公式对结点是否等距没有限制. 牛顿基本插值公式对结点是否等距没有限制.不过当 结点等距时前述牛顿插值公式可进行简化.首先介绍 结点等距时前述牛顿插值公式可进行简化. 差分概念. 差分概念. x −x 当节点等距分布时: 等距分布时 当节点等距分布时 x i = x 0 + i h ( i = 0 , ... , n ) h =
0.62)+0.21303(x-0.55)(x-0.65)(x-0.80) f(0.596) ≈N3(0.596)=0.63192
牛顿插值算法设计
N n ( x ) = f ( x0 ) + f [ x0 , x1 ]( x − x0 ) + f [ x0 , x1 , x2 ]( x − x0 )( x − x1 ) + ...
f [ x 0 , x 1 , x 2 ,⋯ , x n] =
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第8讲 牛顿插值公式§1.4 差商与差分及其性质 1 差商的概念:称10110)()(],[x x x f x f x x f --=为函数f (x )的一阶差商;称21021210],[],[],,[x x x x f x x f x x x f --=为函数f (x )的二阶差商;一般地,称010110],...,[],...,[],...,,[x x x x f x x f x x x f n n n n --=-为函数f (x )的n 阶差商;特别地,定义)(][00x f x f =为函数f (x )关于x o 的零阶差商。

由此可知,高阶差商总是由比它低一阶的的两个差商组合而成。

2(a )n 阶差商可以表示成n +1个函数值01,,,n y y y 的线性组合,即∑-----==+-ki n i i i i i i i i k x x x x x x x x x x x f x x f 011100)())(())(()(],...,[该性质说明:k 阶差商],...,,[10n x x x f 计算是由函数值f (x 0),f (x 1),…f (x k )线性组合而。

如:],,[],,[],,[012201210x x x f x x x f x x x f ==;011100010110)()()()(],[x x x f x x x f x x x f x f x x f -+-=--=))(()())(()())(()()()()()()()()()()()(],[],[],,[120222101120100021221210111000111000201011212021021210x x x x x f x x x x x f x x x x x f x x x x x f x x x f x x x f x x x f x x x f x x x f x x x x x f x f x x x f x f x x x x f x x f x x x f --+--+--=--+------=-+-=------=--=对称性): 差商与节点的顺序无关。

即0110[,][,]f x x f x x =,012102021[,,][,,][,,]f x x x f x x x f x x x ==这一点可以从性质1看出。

3 利用差商表计算差商利用差商的递推定义,可以用递推来计算差商。

4 差分的概念定义设函数y=f (x )在等距节点),,1,0(0n i ih x x i =+=上的函数值f (x i )=f i ,其中,h 为常数称作步长。

称△f i =f i+1-f i ▽f i =f i -f i-1δf i =f (x i +h /2)-f (x i -h /2)=2121-+-i i ff分别为f (x )在i x处以h 为步长的一阶向前差分,一阶向后差分和一阶中心差分。

称符号△、▽、δ分别为向前差分算子,向后差分算子和中心差分算子。

⎪⎪⎩⎪⎪⎨⎧-=∇-∇=∇∆-∆=∆-+-+211-n 211-n n 11-n 1-n n 1-n 11-n n i i i i i i i i i ff f f f f f f f δδδ 在节点等距情况下,差商可用差分表示,设步长i i x x h -=+1,有 i i i i i i i y hx x x f x f x x f ∆=--=+++1)()(),(111i i i i i i i i i i i i y hy y h x x x x f x x f x x x f 221221212121)(21),(),(),,(∆=∆-∆=--=+++++++一般形式(数学归纳法可证)i kk k i i i y h k x x x f ∆=++!1),...,,(1§1.5 牛顿插值公式1. 牛顿插值公式的构造Lagrange 插值虽然易算,但若要增加一个节点时,全部基函数 l i (x ) 都需重新算过。

本节介绍另外一种方法-牛顿插值法,并用它解决上面所述问题。

由线性插值)()(0010101x x x x y y y x N ---+=,令)()(,,01010101100x x a a x N x x y y a y a -+=--== 二次插值能否写成))(()()(1020102x x x x a x x a a x N --+-+=由条件222112002)(,)(,)(y x N y x N y x N ===得120101020220101100,,x x x x y y x x y y a x x y y a y a ------=--== 推广得))...((...))(()()(10102010---++--+-+=n n n x x x x a x x x x a x x a a x N ,其中,n a a a ,,,10 为待定系数。

如何求n a a a ,,,10 ?解: 因为000()()[,]f x f x f x x x x -=-,所以000()()[,]()f x f x f x x x x =+-(0)又001011[,][,][,,]f x x f x x f x x x x x -=-,有001011[,][,][,,]()f x x f x x f x x x x x =+- (1)又010120122[,,][,,][,,,]f x x x f x x x f x x x x x x -=-010120122[,,][,,][,,,]()f x x x f x x x f x x x x x x =+- (2)一般地,nn n n x x x x x f x x x x f x x x x f --=-],...,,[],...,,,[],...,,,[1011010)](,...,,,[],...,,[],...,,,[1010110n n n n x x x x x x f x x x f x x x x f -+=- (n)将式(n)代入式(n-1), ...,式(2)代入式 (1),式(1)代入式 (0), 如此可得:0010()()[,]()f x f x f x x x x =+-01201[,,]()()f x x x x x x x +--+01011[,,,]()()()n n f x x x x x x x x x -+--- 0101[,,,,]()()()n n f x x x x x x x x x x +---尤为注意的是:最后一项中,差商部分含有x ,乃是余项部分,记作()n R x ;而前面n +1项中,差商部分都不含有x ,因而前面n +1项是关于x 的n 次多项式,记作()n N x ,这就是牛顿插值公式。

2 算例例1:当n=1时,0010()()[,]()f x f x f x x x x =+-0101[,,]()()f x x x x x x x +--,其中,10010()()[,]()N x f x f x x x x =+-010001()y y y x x x x -=+--。

这就是牛顿一次插值多项式,也就是点斜式直线方程。

当n=2时,0010()()[,]()f x f x f x x x x =+-01201[,,]()()f x x x x x x x +--012012[,,,]()()()f x x x x x x x x x x +---20010()()[,]()N x f x f x x x x =+-01201[,,]()()f x x x x x x x +--这就是牛顿二次插值多项式。

显然,200()()N x f x =,0121010101()()()()()()f x f x N x f x x x f x x x -=+-=-012202001()()()()()f x f x N x f x x x x x -=+--01122021020112()()()()1()()f x f x f x f x x x x x x x x x x x ⎛⎫--+--- ⎪---⎝⎭2()f x =。

即2()N x 满足二次插值条件。

0()0f x =,01[,]1f x x =,012[,,]4f x x x =,0123[,,,] 1.25f x x x x =-;则牛顿三次插值多项式为3()0(1)4(1)(3)N x x x x =+-+⨯--1.25(1)(3)(4)x x x -⨯---。

1 拉格朗日插值与牛顿插值的比较(1)()n P x 和()n N x 均是n 次多项式, 且均满足插值条件:()()(), 0,1,,n k n k k P x N x f x k n===。

由多项式的唯一性,()()n n P x N x ≡,因而,两个公式的余项是相等的,即(1)01()[,,,]()()(1)!n n n n f f x x x x x x n ξωω+=+(2)当插值多项式从n-1次增加到n 次时,拉格朗日型插值必须重新计算所有的基本插值多项式;而对于牛顿型插值,只需用表格再计算一个n 阶差商,然后加上一项即可。

4 等距牛顿插值公式 插值节点为等距节点:0k x x kh =+,0,1,,k n =,如下图:h h h ... h牛顿插值公式 设等距节点0k x x kh=+,记(),0,1,,k k y f x k n ==.当0[,]n x x x ∈,令0x x th =+,0t n ≤≤. 例如(下图)123x 在x 2,x 3的中点时,0 2.5x x h=+。

将牛顿插值公式中的差商用差分代替,而00()()(),k x x x th x kh t k h -=+-+=-从而,牛顿插值公式在等距插值节点下的形式为:00()n N x y t y =+∆+32000111(1)(2)(1)(1)(1)3!!2!n t t t y t t t n y t t y n +--∆++--+∆-∆余项为(1)(1)11()()()(1)!(1)!n n R x f x f n n n n ξω++==++1()(1)()n h t t t n ξ+-- 这是等距牛顿向前插值公式。

例4: 设()xy f x e ==插值节点为1,1.5,2,2.5,3x =,相应的函数值如下表,求f (2.2)。

此时[x k , x k+1],x =2.2=1+2.4h 故t=2.4,于是2200018.87232(2.2)(1)2!N y t y t t y ==+∆+-∆求3(2.2)N 时,在(.)2N 22后加一项:13(1)(2)03!t t t y--∆ ,12.4(2.41)(2.42)0.742100.166236=⨯⨯-⨯-⨯=,所以32(2.2)(2.2)0.166239.03855N N =+=求4(2.2)N 时,在3(2.2)N 后再加一项:401(1)(2)(3)4!t t t t y ---∆ 12.4(2.41)(2.42)(2.43)0.4814624=⨯⨯-⨯-⨯-⨯0.01618=-,所以43(2.2)(2.2)0.016189.02237N N =-=2320.15269 , 0.01354 , 0.00264R R R ==-=。

相关文档
最新文档