牛顿(Newton)插值多项式

合集下载

牛顿插值多项式

牛顿插值多项式
Sichuan Agricultural University
数学系
DEPARTMENT OF MATHEMATICS
Newton型多项式插值
承袭性: Nn1(x) Nn (x) qn1(x) Pn1
{x0 , x1 , xn1}
{x0 , x1 , xn}
且 Nn (xi ) Nn1(xi ) f (xi ) , qn1(x) an1(x x0 ) (x xn )
同样 Nn (x) Nn1(x) qn (x)
qn (x) an (x x0 ) (x xn1)
i 0,1,L n
为实数
Sichuan Agricultural University
数学系
DEPARTMENT OF MATHEMATICS
Nn (x) a0 a1(x x0 ) an (x x0 ) (x xn1)
f
(xn )
Sichuan Agricultural University
数学系
DEPARTMENT OF MATHEMATICS
这样:
a0 f (x0 )
a1
f (x1) f (x0 ) x1 x0
a2
x2
1
x1
f
(x2 ) x2
f (x0 ) x0
a1
a3
x3
1 x2
f
x
x0
)
L
(x xn )
另一方面

{xi
}n i0
Newton插值为N
n
(
x)
则有
{xi
}n i0
U{a}为Nn1(t)
Nn
(t)
f [x0,L
, xn, a](t x0)L

牛顿插值法

牛顿插值法
值 f ( x ) ,或计算函数的一阶、二阶导数值。
2
Newton插值
x x0 x1 y y0 y1
x n 1 x n y n 1 y n
求作n次多项式 Nn(x) 使得:
N n (x i) f(x i) y i,i 0 ,1 , ,n
3
插值问题讨论
x x0 x1 y y0 y1
增加一个点后
为 在点
处的二阶差商

f[x 0 ,x 1 , x n ] f[x 0 ,x 1 , ,x x n 0 1 ] x n f[x 1 ,x 2 , x n ]
为f (x)在点
处的n阶差商。
9
差商表
x
f(x)
一阶差 商
二阶差商
三阶差商
x0
f(x0)
x1
f(x1) f [x0,x1]
x2
f(x2) f [x1,x2] f [x0,x1,x2]
这种差商形式的插值公式称为牛顿插值公式。
11
Newton插值
容易证明牛顿插值多项式满足插值条件。
由插值多项式的唯一性,得 Ln(x)Nn(x)
牛顿插值多项式的误差估计
R n(x)f[x 0,x 1 ,L,x n,x]n(x)f(n (n 1 )1 ()!) n(x)
12
Newton插值(续)
把此类插值多项式称为埃尔米特(Hermite) 插值多项式或称带导数的插值多项式,记为H (x)。
18
Hermite插值多项式(续1)
N 个条件可以确定 N 1 阶多项式。 要求在1个节点 x0 处直到m0 阶导数都重合的插值
多项式即为Taylor多项式
(x )f(x 0)f(x 0 )x ( x 0) . .f.(m m 0)0 (!x 0)(x x 0 )m 0

牛顿—柯特斯(Newton-Cotes)求积公式

牛顿—柯特斯(Newton-Cotes)求积公式
k =0
n
n)
f ( xk )
( ckn)
称为柯特斯求积系数 称为柯特斯求积系数
∫ f ( x ) dx ≈ ( b a ) ∑ c
b a k =0
n
(n)
k
f ( xk )
c
(n) k
n=1时
C
(1) 0
n n (1)nk = ∫0 ∏(t j) dt k ! (n k )!n j =0 j ≠k
3 b
2 b

b
a
a
( x b)2 dx ] 2
a
(b a ) 3 f ′′(η ) = 12
定理的其它证明从略。 定理的其它证明从略。
复合求积公式
Newton—Cotes求积方法的缺陷: 求积方法的缺陷 求积方法的缺陷: 从余项公式可以看出, 从余项公式可以看出,要提高求积公式的代数精 增加节点个数 必须增加节点个数,而节点个数的增加, 度,必须增加节点个数,而节点个数的增加,会导致 现象; (1)插值多项式出现 )插值多项式出现Runge现象; 现象 数值稳定性不能保证。( (2)Newton—Cotes数值稳定性不能保证。( ) 数值稳定性不能保证。(n>7) )
I4 ( f ) =
(b a ) [7 f ( x0) + 32 f ( x1) + 12 f ( x 2) + 32 f ( x3) + 7 f ( x 4)] 90
柯特斯公式
n=1时的求积公式 时的求积公式
1
梯形公式/*Trapezoidal Formula */ 梯形公式/*
I1 ( f ) = ∑ Ak f ( xk ) = A0 f ( x0 ) + A1 f ( x1 )

牛顿插值公式

牛顿插值公式

2012-2013(1)专业课程实践论文牛顿插值公式王霄,0818180103,R数学08-1班插值法利用函数()x f 在某区间中若干点的函数值,作出适当的特定函数,在这些点上取已知值,在区间的其他点上用这特定函数的值作为函数()x f 的近似值。

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

利用插值基函数很容易得到拉格朗日插值多项式,公式结构紧凑,在理论分析中甚为方便,但当插值节点增减时全部插值基函数均要随之变化,整个公式也将发生变化, 这在实际计算中是很不方便的,为了克服这一缺点,提出了牛顿插值。

牛顿插值通过求各阶差商,递推得到的一个公式:[]()[]()()[]()()()x Rn x x x x x x f x x x x x x x f x x x x f x f x f n n +--++--+-+=-100102100100,, ,,,)()(牛顿(Newton )插值法:若求i T 和1+i T 之间任一点T ,插值公式为:[]()[]()()[]()()100102100100,,,,,)(---++--+-+=n n x x x x x x f x x x x x x x f x x x x f x f T 式中,[]10,x x f ,[]210,,x x x f , ,[]110,,,-n x x x f 是函数()x f 的1到第1-n 阶差商。

[]()()101010,x x x f x f x x f --=[][][]202110210,,,,x x x x f x x f x x x f --=[][][]1011021010,,,,,,,,,-----=n n n n x x x x x f x x x f x x x f可以看出,每一阶的差商都可以从它的前一阶差商推出。

按照此特点,选定牛顿插值的阶数3~4,然后计算各阶差商,按照插值公式计算插值点的值。

开始输入已知项项数n输入各已知项的值: i y i x _,_i j n i ><,[]()()kk k x x x f x f x x f --=000,输出newton令]0[,1diff newton tmp ==[]()[]()()[]()()100102100100,,,,,)(---++--+-+=n n x x x x x x f x x x x x x x f x x x x f x f T n i <结束#include<stdio.h>#define MAX 20typedef struct TPOINT{ double x;double y; }POINT;int main(){ int n,i,j;POINT points[MAX +1];double diff[MAX +1];double x,tmp,newton=0;printf("\n输入已知项项数n:");//n-1为插值次数scanf("%d",&n);printf("输入各已知项的值: (x_i,y_i)\n");for(i=0;i<n;i++)scanf("%lf%lf",&points[i].x,&points[i].y);printf("输入所要求解的x值:");scanf("%lf",&x);for(i=0;i<n;i++)diff[i]=points[i].y;for(i=0;i<n;i++){ for(j=n;j>i;j--){ diff[j]=(diff[j]-diff[j-1])/(points[j].x-points[j-1-i].x);} } tmp=1;newton=diff[0];for(i=0;i<n;i++){ tmp=tmp*(x-points[i].x);newton=newton+tmp*diff[i+1];}printf("f(%f)=%f\n",x,newton);return 0;}例1. 已知函数如下表:x10 11 12 13ln 2.3206 2.3979 2.4849 2.5649x求解Ln11.75的值。

牛顿插值多项式

牛顿插值多项式

牛顿插值多项式是一种通过已知数据点来拟合函数的插值方法。

它以英国数学家牛顿的名字命名,是一种常用的插值方法之一。

设给定数据点的集合为(x0, y0), (x1, y1), ... , (xn, yn),并且数据点的x坐标不相同。

牛顿插值多项式通过不断增加插值点来逐步构建插值多项式,具体来说,可以按照以下步骤进行:
将数据点按照x坐标的大小排列,从小到大依次编号为0, 1, ..., n。

定义差商f[xi, xj]为:
f[xi, xj] = (f[xi+1, xj] - f[xi, xj-1]) / (xi+j - xi)
其中,f[xi, xi] = yi,f[xi, xi+1] = (yi+1 - yi) / (xi+1 - xi)。

利用递推公式构建插值多项式:
P(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-xn-1)
其中,f[xi]表示插值节点x0, x1, ..., xi所构成的多项式的最高次项系数。

牛顿插值多项式的优点在于,新增一个数据点只需要重新计算一个差商,而不需要重新计算整个多项式,因此计算效率较高。

同时,它也可以通过递归方式来计算,对于复杂的数据集,计算效率也比较高。

牛顿插值法

牛顿插值法

f [ x, x0 , x1 ,, xk 1 ] f [ x0 , x1,, xk ] f [ x, x0 , x1 ,, xk ](x xk )
因此可得
f ( x) f0 f [ x, x0 ](x x0 )
f0 ( f [ x0 , x1 ] f [ x, x0 , x1 ](x x1 ))(x x0 ) f0 f [ x0 , x1 ](x x0 ) f [ x, x0 , x1 ](x x0 )(x x1 )
为f ( x)关于xi , x j , xk的二阶差商
依此类推
5
f [ xi0 , xi1 ,, xik 1 , xik ]
f [ xi0 , xi1 ,, xik ] f [ xi0 , xi1 ,, xik 2 , xik 1 ] xik xik 1
为f ( x)关于节点 xi0 , xi1 ,, xik1 , xik 的k阶差商
2 f i 2 f i 1 3 2h3 3 f i 3!h 3
20
3 fi 3 2 fi 2 2 fxi 3 3 3!h 3 3 2h
k ( x) ( x x j )
j 0
k 1
f0 f [ x0 , x1 ,, xk ]( x x j )
k 1
n
n
k 1 j 0
为k次多项式
f 0 f [ x0 , x1 ,, xk ] k ( x)
k 1
为f ( x)关于节点 xi 的n次Newton插值多项式
f 0
f 1
f 1 f 2
f 3
2 f0
2 f2
2 f3
3 f0

ch3.4牛顿插值多项式

ch3.4牛顿插值多项式

一阶向后差分:fk fk fk 1 B差分
C差分
常用结论
2 fk fk 1 fk fk 2 2 fk 1 fk 3 fk 2 fk 1 2 fk fk 3 3 fk 2 3 fk 1 fk 2 fk fk 1 fk fk 2 fk 1 fk 2
差分的性质 (差商与差分的关系)
f k 1 f k f k f [ xk , xk 1 ] , xk 1 xk h
f [ xk 1 , xk 2 ] f [ xk , xk 1 ] f [ xk , xk 1 , xk 2 ] xk 2 xk f k 1 f k 1 2 h h 2 fk , 2h 2h
差商与导数关系
性质3 若f ( x)在[a, b]上存在k阶连续导数,且节点x0 ,, xk [a, b], f ( k ) ( ) 则 f [ x0 , , xk ] , k! [min x0 ,, xk , max x0 ,, xk ]
二、牛顿插值法的基本思路
三、牛顿插值多项式的构造
Pn ( x ) a0 a1 ( x x0 ) a2 ( x x0 )( x x1 ) an ( x x0 )( x xn1 ) 由插值条件:Pn ( x j ) f j ( j 0,1, , n)
当x x0时,Pn ( x0 ) a0 =f0 f [ x0 ] a0 f [ x0 ]
解题步骤:1、完成差商表 2、求出插值多项式 3、求出插值 4、估计误差
解:
xi 0.40 0.55 0.65 0.80 0.90 1.05
ƒ(xi) 0.41075 0.57815 0.69675 0.88811 1.02652 1.25382

newton插值多项式

newton插值多项式
xi f ( xi ) 一阶差商 二阶差商 x0 f ( x0 ) x1 f ( x1 ) x3 f ( x3 ) x 4 f ( x4 )

三阶差商
Newton公式 Newton优点
四阶差商
f [ x0 , x1 ]
x 2 f ( x2 ) f [ x1 , x2 ] f [ x0 , x1 , x2 ]
N k 1 ( x) N k ( x) f [ x0 ,, xk , xk 1 ]( x x0 )( x x1 )( x xk )
17
一次Newton插值多项式
N1(x)= f(x0)+f[x0,x1](x-x0)
二次Newton插值多项式
N2(x)= f(x0)+f[x0,x1](x-x0)+f[x0,x1,x2](x-x0)(x-x1)
f [ x0 , x1 , , xn ] f
(n)
( ) n!
7
例 已知 f(x) = x7+ x4+ 3x+ 1 求 f [20, 21, … 27 ] 及 f [20, 21, … 27, 28 ] 分析:本题 f(x)是一个多项式, 故应利用差商的性

解: 由差商与导数之间的关系
8
差商的计算-差商表
9

已知
xi
f ( xi )
计算三阶差商 解:列表计算
xi
f [1, 2,4,7]
f ( xi )
f [1, 2, 4, 7] 1 / 2
10
二 Newton 插值多项式
根据差商的定义,把
f [ x, x0 ]
x 看成[a,b]上的一点,可得:
f ( x) f ( x0 ) x x0
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
所求近似值为
115 N1(115 ) 10 0.047169 (115 100 ) 10.7143
牛顿抛物线插值多项式为
N2(x) 10 0.047169 (x 100) 0.00009411 (x 100)(x 121)
所求近似值为
115 N2 (115) 10 0.047169 (115 100 ) 0.00009411 (115 100 )(115 121) 10.7228
0.0000003138
144 12
-0.00007246
0.040000
169 13
由差商表,牛顿插值多项式的系数依次为
f [x0 ] 10, f [x0, x1] 0.047169, f [x0, x1, x2 ] 0.00009411,
牛顿线性插值多项式为
N1(x) 10 0.047169 (x 100 )
x … 10 11 12 13 …
试用牛顿线性插值与抛物线插值求 115 的近似值,并估计截断误差。
解:先构造差商表,取 x0 100, x1 121, x2 144, x3 169
x x 一阶差商 二阶差商
100 10
三阶差商
0.047619
121 11
-0.00009411
0.0ห้องสมุดไป่ตู้3478
(i 0,1, 2, , n)
Nn (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)
例3 已知函数表
x … 100 121 144 169 …
, xm ] f [x0 , x1, xm x0
, xm1]
为 f(x) 在点 x0 , x1, , xm 处的m阶差商。
特别地,规定零阶差商 f [xi ] f (xi )
为便于应用,通常采用差商表,例如
xk f [xk ] 一阶差商
x0 f [x0 ]
f [x0 , x1]
二阶差商
三阶差商
f
(x2 ) x2
f (x0 ) x0
f
[ x0 ,
x1]
x2 x1
f [x0, x2 ] f [x0, x1] x2 x1
f [x1, x0, x2 ]
f [x0, x1, x2 ]
一般地,可以证明有 于是,满足插值条件
ak f [x0 , x1, , xk ]
Nn (xi ) f (xi ) 的n次牛顿插值多项式为
f [x0, x1,
k
, xk ] j0 (xj x0 )
f (xj) (xj xj1)(xj xj1)
(xj xk )
性质2 差商具有对称性,即在k阶差商
f [x0, x1, , xk ] 中任意调换2个节点 xi 和 x j
的顺序,其值不变。
性质3 k阶差商 f [x0 , x1, , xk ] 和 k 阶导数
x1 f [x1]
f [x1, x2 ]
f [x0 , x1, x2 ]
f [x0 , x1, x2 , x3 ]
x2 f [x2 ]
f [x1, x2 , x3 ]
f [x2 , x3 ]
x3 f [x3 ]
差商有如下性质:
性质1 k阶差商 f [x0, x1, , xk ] 是由函数值 f (x0 ), f (x1), , f (xk ) 线性组合而成的,即
记为 Nn (x) ,即
Nn(x) a0 a1(x x0) a2(x x0)(x x1) an(x x0)(x xn1) ⑧ 其中系数 ai (i 0,1, , n) 可由插值条件
Nn (xi ) yi
(i 0,1, , n) 确定。
为此我们引入差商概念:
定义1 设函数f(x)在点 x0 , x1, x2 , 上的值依次为
由于公式中的 lk (x) (k 0,1, , n) 都依赖于全部插值节点在增加或减少节点时,
必须全部重新计算。
为克服这个缺点,把插值多项式构造成如下形式
a0 a1(x x0 ) a2 (x x0 )(x x1) an (x x0)(x xn1)
这种形式的插值多项式称为n次牛顿插值多项式。
f (k) (x) 之间有如下重要关系:
f [x0 , x1,
(min{x0 , x1,
, xk ]
f (k ) ()
k!
, xk }, max{x0, x1,
, xk})
有了差商的概念和性质后,我们就可以用差商
来表示牛顿差值多项式中的系数。
Nn (x) a0 a1(x x0) a2(x x0)(x x1) an (x x0)(x xn1)
由插值条件 Nn (x0 ) f (x0 ) ,可得
a0 f (x0 ) f [x0 ]
由插值条件 Nn (x1) f (x1) ,可得
a1
f (x1) f (x0 ) x1 x0
f [x0 , x1]
由插值条件 Nn (x2 ) f (x2 ) ,可得
a2
f (x2 ) f (x0 ) f [x0, x1](x2 x0 ) (x2 x0 )(x2 x1)
xk xi
为f(x)在 xi , x j , xk 处的二阶差商,记为 f [xi , x j , xk ]

f [xi , x j , xk ]
f [xj , xk ] f [xi , x j ] xk xi
一般地,称 m-1 阶差商的差商
f [x0 , x1,
, xm ] f [x1, x2 ,
插商与牛顿(Newton)插值多项式
构造拉格朗日插值多项式
n
Ln (x) yklk (x)
k 0
yk
(x x0 ) (xk x0 )
(x xk1)(x xk1) (xk xk1)(xk xk1)
(x xn ) (xk xn )
其形式具有对称性,即便于记忆,
又便于应用与编制程序。
f (x0 ), f (x1), f (x2 ),
称 f (xj ) f (xi ) (i j)为f(x)在点 x j xi
xi , x j 处的一阶差商,记为 f [xi , x j ] ,即
f [xi , x j ]
f (x j ) f (xi ) x j xi
称一阶差商的差商 f [xj , xk ] f [xi , xj ] (i, j, k 互异)
相关文档
最新文档