newton插值多项式。
利用插值基函数很容易得到拉格朗日插值多项式,拉格朗日插值公式结构紧凑,在理论分析中甚为方便,但当插值节点增减时全部插值基函数均要随之变化,不得不重新计算所有插值基函数,这在实际计算中是很不方便的,为了克服这一缺点,引入了出具有承袭性质的牛顿插值多项式,首先介绍在牛顿插值中需要用到的差商计算。
差商。设有函数为一系列互不相等的点,称为关于点的一阶差商,记为,即。
类似于高阶导数的定义,称一阶差商的差商。
为关于的二阶差商,记为。一般地,称。
为关于的阶差商,记为。
函数关于的零阶差商即为函数在的函数值,。
容易证明,差商具有下述性质:
1)各阶差商均具有线性性,即若,则对任意正整数,都有。
2)阶差商可表示成的线性组合。
其中。用归纳法可以证明这一性质。
是显然的。时。
3)各阶差商均具有对称性,即改变节点的位置,差商值不变。如。
4)若是次多项式,则一阶差商是次多项式。
事实上,如果是次多项式,则也是次多项式,且。于是可分解为。
其中为次多项式。所以。
为次多项式。
计算差商。按照差商定义,用两个k-1阶差商的值计算k阶差商,通常用差商表的形式计算和存放(见表1)。
由于差商对节点具有对称性,可以任意选择两个k-1差商的值计算k阶差商。
表1 差商表。
例1】给定函数的函数表。
写出函数的差商表。
解差商表如下:(写牛顿插值多项式)
牛顿插值(根据差商定义推导牛顿插值多项式)
根据差商定义,把看成[a,b]上一点,可得。
左右两端乘()移项得。
二阶差商:整理得:
同理:只要把后一式代入前一式,就得到。其中。
则。显然,是至多次的多项式。而由。
即得。这表明满足插值条件,因而它是的次插值多项式。这种形式的插值多项式称为newton插值多项式。
newton插值优点:每增加一个节点,插值多项式只增加一项,即。
因此便于递推运算。而且newton插值的计算量小于lagrange插值。
由插值多项式的唯一性可知,次newton插值多项式与次lagrange插值多项式是相等的,即,它们只是表示形式不同。因此newton余项与lagrange余项也是相等的,即。
由此可得差商与导数的关系。
泰勒系数:)
其中。例2】对上例的中的,求节点为的一次插值多项式,节点为的二次插值多项式和节点为的三次插值多项式。
解由上例知,,,于是有。
例2】用newton插值公式计算ln11.5。
解如果仍取点作抛物线插值,按表1计算,结果如下:
n2(x)=2.3979+0.0870(x-11)-0.0035(x-11)(x-12)
ln11.5≈n2(11.5)
若加节点x=10,14,ln10=2.3026,ln14=2.6391,用lnx四次插值多项式近似,则按表1计算结果如下:
所以。ln11.5≈n4(11.5)
牛顿插值的matlab实现。
在matlab中实现牛顿插值的**如下:
function f = newton(x,y,x0)
求已知数据点的牛顿插值多项式。
已知数据点的x坐标向量:x
已知数据点的y坐标向量:y
插值的x坐标:x0
求得的牛顿插值多项式或在x0处的插值:f
syms t;
if(length(x) =length(y))
n = length(x);
c(1:n) =0.0;
elsedisp('x和y的维数不相等!')
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,'t',x0);
elsef = collect(f将插值多项式展开。
f = vpa(f, 3);
endend
end例3】牛顿插值应用实例。根据下表所列的数据点求出其牛顿插值多项式,并计算当x=2.0时的y值。
解:在命令窗口command window直接输入:
> x=[ 1 1.2 1.8 2.5 4] %逗号与空格等价。
为了验证它已在工作空间中,回车后得到如下结果。x =
> y=[1 1.44 3.24 6.25 16];
> f = newton (x,y)
回车后得到:
f =. 182711e-14-.482154e-14*t+1.00000*t^2-.169177e-14*t^3+.211471e-15*t^4
>> f= newton (x,y,2.0)
回车后得到:f =
**中的数据点是按y= 给出的,当插值函数在x=2.0时的值看出= 4。
在编辑窗口输入:
t=1:0.01:4;
z=.182711e-14-.482154e-14*t+1.00000*t.^2-.169177e-14*t.^3+.211471e-15*t.^4;
x=[1 1.2 1.8 2.5 4];
y=[1 1.44 3.24 6.25 16];
plot(t,z,x,y,'ro');grid
命令执行后得到如图1-2所示图形。
图 1-2 牛顿插值多项式与数据点的关系。
matlab函数调用,存放位置; 命令窗口,编辑窗口的使用。
数值分析第二章
第二章插值法。1 当时,求的二次插值多项式。解 则二次拉格朗日插值多项式为。2 给出的数值表。用线性插值及二次插值计算的近似值。解 由 知,若采用线性插值法计算即,则。若采用二次插值法计算时,3 给全的函数表,步长若函数表具有5位有效数字,研究用线性插值求近似值时的总误差界。解 求解近似值时,误差可...
数值分析第二章
列选主元lu分解法 function l,u,pv luex a luex lu factorization with partial pivoting synopsis l,u,pv luex a input a coefficient matrix output l lower triangul...
数值分析第二章作业
1.当,时,且。求的二次牛顿插值多项式 证明 2.当时,且求的牛顿插值多项式,并给出其差商型余项表达式。3.已知函数满足,求其三次牛顿插值多项式,并证明存在使得。4.已知,求的四次牛顿插值多项式,并给出其导数 假设函数的五阶导数存在 型余项表达式。5.设,为互异实数,是以其为节点的lagrange插...