计算方法课件4_第1页
计算方法课件4_第2页
计算方法课件4_第3页
计算方法课件4_第4页
计算方法课件4_第5页
已阅读5页,还剩130页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第4章插值方法三、Newton插值五、分段低次插值一、插值多项式及存在唯一性二、Lagrange插值四、Hermite插值本章要求1.熟练掌握拉格朗日插值、牛顿插值的基本思想与误差估计;2.掌握分段低次插值的概念算法;3.掌握三次样条插值及其算法的计算机实现;重点:多项式插值与误差估计、三次样条算法的计算机实现。插值问题的背景

能否存在一个性能优良、便于计算的函数------(1)这就是插值问题,(1)式为插值条件,其插值函数的图象如图整体误差的大小反映了插值函数的好坏为了使插值函数更方便在计算机上运算,一般插值函数都使用代数多项式和有理函数本章讨论的就是代数插值多项式插值多项式存在唯一性

定理证明:其系数行列式是Vandermonde行列式,故于是方程组有唯一解,即满足(1)式的多项式存在且唯一。(一)线性插值给定两个点(x0,y0),(x1,y1),x0≠x1,确定一个一次多项式插值函数,简称线性插值。待定系数法设

L1(x)=a0+a1x,代入插值点当x0≠x1时,方程组的解存在唯一。即插值条件:L1(xi)=f(xi)=yi,i=0,1Lagrange插值就是选用节点上的函数值作为插值条件,选用代数多项式作为插值函数。

Lagrange插值解之得,因此,(2)式称为一次Lagrange插值。注:由求解过程知,用待定系数法,需要求解线性方程组,当已知节点较多时,即方程的未知数多,计算量较大,不便向高阶插值推广。------(2)插值基函数法分别构造两个节点上的一次函数,使其在本节点上的函数值为1,而在其他节点上的函数值为0。设l0(x),l1(x)分别为满足上述条件的一次函数,即

或简单地记为对于过两个节点x0,x1的线性插值(2)式,令显然,l0(x),l1(x)

满足:

线性插值函数可以写成节点上函数值的线性组合,即L1(x)=l0(x)y0+l1(x)y1

称l0(x),l1(x)

分别为x0,x1的插值基函数。满足插值条件:L1(xi)=yi

,i=0,1线性插值的误差定理4.1.1设L1(x)为一次Lagrange插值函数,若

f

(x)一阶连续可导,f"(x)在(a,b)上存在,则对任意给定的x∈(a,b),至少存在一点ζ∈(a,b),使得证明

因为L(xi)=f(xi),i=0,1,所以,R1(x0)=R1(x1)=0,

x0,x1为R1(x)的两个根。因此,可设R1(x)为固定任一

x,作辅助函数,令R1(x)=k(x)(x-x0)(x-x1).则Ψ

(xi

)=0,i=0,1,Ψ

(x)=0,即Ψ

(t)有3个零点x0,x1,x假定,x0

<x<

x1,分别在[x0,x]和[x,x1]上应用洛尔(Rolle)定理,可知,Ψ′(t)在每个区间上至少存在一个零点,ζ1,ζ2,使Ψ′(ζ1)=0,Ψ′(ζ2)=0(此即Ψ′(t)有2个零点)。再利用洛尔定理知,Ψ′(t)在[ζ1,ζ2]上至少有一个零点ζ,使Ψ″(ζ)=0.

对Ψ

(t)求2阶导数得,Ψ″(t)=f″(t)-2!k(x),因为Ψ″(ζ)=0,所以,有

k(x)=f″(ζ)/2!.证毕。给定3个互异插值点(xi,f(xi)),i=0,1,2,确定一个二次插值多项式函数,即抛物线插值(如图)。待定系数法设L2(x)=a0+a1x+a2x2,代入3个插值条件:

L2(xi)=f(xi),i=0,1,2,解线性方程组可得a0,a1,a2.(二)二次插值插值基函数法构造3个节点上2次插值基函数l0(x),l1(x),l2(x),使满足

li(xj)=δij

,i,j=0,1,2。因为l0(x)为2次插值基函数,且l0(x1)=l0(x2)=0,所以可设

l0(x)=A(x

-x1)(x-x2)由条件:l0(x0)=1,得同理可得,二次Lagrange插值多项式为容易验证满足插值条件二次插值的误差定理4.1.2

设L2(x)为二次Lagrange插值函数,若f

(x)∈C3[a,b],

则任给x∈(a,b),至少存在一点ζ=ζ(x)∈(a,b),使提示:因为R2(x0)=R2(x1)=R2(x2)=0,可设作辅助函数易知,x0,x1,x2,x为Ψ(t)的4个零点,在4个点两两组成的区间上,应用Rolle定理,然后再反复应用Rolle定理即得证。例4.1.1

给定sin11°=0.190809,sin12°=0.207912,求线性插值,并计算sin11°30'和sin10°30'

。解

x0=11°,x1=12°,y0=0.190809,y1=0.207912,sin11°30'≈L1(11.5)=0.199361,sin10°30'≈L1(10.5)=0.182258准确值为:sin11°30’=0.199368sin10°30’=0.182236由定理知,误差为例4.1.2

给定sin11°=0.190809,sin12°=0.207912,

sin13°=0.224951,构造二次插值,并计算

sin11°30′。解

x0=11,x1=12,x2=13,

y0=0.190809,y1=0.207912,y2=0.224951,sin11°30′≈L2(11.5)=0.199369,

sin11°30′=0.199368.例4.1.3

要制作三角函数sinx的值表,已知表值有四位小数,要求用线性插值引起的截断误差不超过表值的舍入误差,试确定其最大允许的步长。解

f(x)=sinx,

设xi-1,xi为任意两个插值节点,最大允许步长记为

h=hi=xi

-xi-1,(三)n次插值已知n+1个互异插值节点

(xi,f(xi)),i=0,1,2,…,n,研究n次插值多项式的存在性及其表示形式。存在性:待定系数法设

n次多项式为------(3)代入插值点,即插值条件:Ln

(xi)=f(xi),i=0,1,2,…,n,得------(4)其范德蒙德(Vandermonde)行列式为:所以,(4)的解存在唯一。解出(4)的解a0,a1,…,an,代入(3)即得n次插值多项式Ln(x)。

n次插值多项式的构造:插值基函数法虽然方程组(4)的解存在唯一,但用待定系数法求插值多项式却不是好方法,其计算量大,实际中不可取。根据线性空间的理论并且形式不是唯一的且在不同的基底下有不同的形式分别构造x0,x1,…,xn

上的n次插值基函数l0(x),l1(x),…,ln(x),满足性质:即节点基函数x0x1x2…xnl0(x)100…0l1(x)010…0l2(x)001…0………………ln(x)000…1先构造l0(x)。由上表知,x1,x2,…,xn

为l0(x)的零点,设

由l0(x0)=1,得同理可设由li

(xi)=1,得于是可得,基函数为所以我们得到n次Lagrange插值多项式:

容易验证,

Ln(xi)=f(xi),i=0,1,2,…,n.基函数仅与节点有关,而与被插函数无关!从而基函数可等价地写成因此n次Lagrange插值多项式还可表示成例4.1.4

已知插值点

(-2.00,17.00),(0.00,1.00),(1.00,2.00),(2.00,17.00),

求三次插值,并计算f(0.6)。解先计算4个节点上的基函数:三次Lagrange插值多项式为:

f(0.6)≈L3(0.6)=-0.472.

n次插值多项式的误差定理4.1.3

设Ln(x)是[a,b]上过插值点(xi,f(xi)),i=0,1,2,…,n的n次Lagrange插值多项式,节点xi两两互异,若f(x)∈Cn+1[a,b],则∀x∈[a,b],存在ζ=ζ(x)∈[a,b],使得证明提示:因为Rn(xi)=0,i=0,1,2,…,n,令作辅助函数显然,Ψ

(t)有n+2个零点x0,x1,…,xn,x,反复应用Rolle

定理,有Ψ

(n+1)(ζ)=0,定理得证。

n次插值多项式的几点说明若|f(n+1)(x)|≤M,x∈[a,b],则得当f(x)为不高于n次的多项式时,因为Rn(x)=0,则

Ln(x)=f(x).即f(x)为不超过n次的多项式时,插值多项式就是被插函数本身特别地,取f(x)=xk,k=0,1,2,…,n,则即n次Lagrange基函数{li(x)}满足从角度观察,内插(即)误差要小些,而外插有可能误差变大,因此要慎用。高次插值通常优于低次插值,但绝对不是次数越高就越好。例4.1.5解Lagrange插值基函数为Lagrange线性插值多项式为所以又所以由于且所以由于解例4.1.6在实际当中,由于误差余项往往难于估计,一般不能事先确定插值函数的次数。通常的做法是:从低阶到高阶逐次进行插值,直至达到所需精度。见书P123-124

用Matlab作Lagrange插值Matlab中没有现成的Lagrange插值函数,必须编写一个M文件实现Lagrange插值。输入设个插值点以数组个节点数据以数组输入,输出数组为(注意Matlat的数组下标从1开始),个插值。编写一个名为lagrange.m的M文件:functiony=lagrange(x0,y0,x);n=length(x0);m=length(x);fori=1:mz=x(i);s=0.0;

fork=1:np=1.0;

forj=1:n

ifj~=kp=p*(z-x0(j))/(x0(k)-x0(j));

end

ends=p*y0(k)+s;

end

y(i)=s;end解例4.1.7并作图比较.不同次数的Lagrange插值多项式的比较图Runge现象结果表明,并不是插值多项式的次数越高,插值效果越好,精度也不一定是随次数的提高而升高,这种现象在上个世纪初由Runge发现,故称为Runge现象.为了提高精度有时需增加结点,但这时原来求的全改变,也就是原来的基函数不能利用,浪费资源。

Langrange插值的不足改进:在从低次到高次逐次进行计算时,利用已经计算出来的值简化计算。

逐次线性插值(不用求基函数)证明定理4.1.4而在计算函数值时,可根据上述定理的公式递推计算。计算过程可按下述两个表格之一进行。

Aitken逐次线性插值计算公式为:从表中看到,每增加一个节点就计算一行,斜线上两相邻数值之差的大小可以用来度量插值的精度。如果精度不满足要求,则再增加一个节点并计算新的一行。

Neville逐次线性插值计算公式为:1.00.7651977

|y0,…,k-y0,…,k-1|1.30.62008600.52334490.24185281.60.45540220.51029680.51247150.00087341.90.28181860.51326340.51128570.51181270.00065882.20.11036230.51042700.51373690.51183020.51182000.0000073解例4.1.8将计算结果列表如下:

Lagrange插值的优缺点

优点:形式整齐、规范,理论上保证插值的存在唯一性。

缺点:计算量大,重复计算多,不具有承袭性。由线性代数的知识可知,任何一个n次多项式都可以表示成共n+1个多项式的线性组合。那么,是否可以将这n+1个多项式作为插值基函数呢?

Newton插值显然,多项式组线性无关,因此,可以作为插值基函数。因此,每加一个节点时,只附加一项上去即可。有再继续下去待定系数的形式将更复杂一阶差商:f(x)关于点x0,x1的一阶差商记为f[x0,x1],一、差商及其性质二阶差商:f(x)关于点x0,x1,x2的二阶差商记为f[x0,x1,x2],一般地,k阶差商f[x0,x1,…,xk]

定义为:

性质1

k阶差商f[x0,x1,…,xk]可表成节点上函数值f(x0),

f(x1),…,f(xk)的线性组合,即

例如,k=2时,差商的性质性质2

各阶差商具有对称性,即改变差商中节点的次序不会

改变差商的值。设i0,i1,…,ik为0,1,…,k的任一排列,则

由性质1知,任意改变节点的次序,只改变公式右端求和的次序,故其值不变。例如,由定义知,性质3

若f(x)为n次多项式,则一阶差商f[x,xi]为n

−1次多项式。由定义性质4若f(x)在[a,b]存在n+1阶导数,xi∈[a,b],

i=0,1,…,n,固定x∈[a,b],则n+1

阶差商与导数

存在如下关系:

令x=xi,则分子为0,说明分子中含有因子x

xi,与分母约去。由差商的定义

一阶差商是由节点上函数值定义的,二阶差商是由一阶差商定义的,…,依此构造差商表:i

xif(xi)一阶差商二阶差商

三阶差商

…n阶差商0

x0f(x0)1

x1f(x1)f[x0,x1]2

x2f(x2)f[x1,x2]f[x0,x1,x2]3

x3f(x3)f[x2,x3]f[x1,x2,x3]f[x0,x1,x2,x3]………………n

xn

f(xn)f[xn

−1,xn]f[xn

−2,xn

−1,xn]f[xn

−3,…,xn]…

f[x0,x1,…,xn]差商的计算例

计算(−2,17),(0,1),(1,2),(2,19)的一至三阶差商。解

由表易知,

i

xif(xi)f[xi

−1,xi]f[xi

−2,xi

−1,xi]f[xi

−3,xi

−2,xi

−1,xi]0

−2

171

012

123

219f[x0,x1]=f[−2,0]=(17-1)/(-2-0)=−8f[x1,x2]=f[0,1]=(1-2)/(0-1)=1

f[x2,x3]=f[1,2]=(2-19)/(1-2)=17f[x0,x1,x2]=f[−2,0,1]=(−8−1)/(−2−1)=3f[x1,x2,x3]=f[0,1,2]=(1−17)/(0−2)=8

f[x0,x1,x2,x3]=f[−2,0,1,2]=(3−8)/(−2−2)=5/4−8117385/4解

例对

f(x)=x7−x4+3x+1,

f[20,21],f[x,20,21,…,26]和f[x,20,21,…,27]。利用差商与导数的关系(性质4)!显然,

f(7)

(x)=7!,f(8)

(x)=0,由性质4得二、Newton插值线性插值给定两个插值点(x0,f(x0)),(x1,f(x1)),x0≠x1,设

N1(x)=a0+a1(x−x0)…………

直线的点斜式代入插值点得,由插值的唯一性知,L1(x)与N1(x)为同一多项式,只是表达形式不同而已。于是得线性Newton插值公式二次Newton插值给定三个互异插值点(xi,

f(xi)),i=0,1,2.设代入插值条件:N2(xi)=f(xi),i=0,1,2,得二次Newton插值公式为

n次Newton插值公式给定n+1个插值点(xi,f(xi)),i=0,1,2,…,n,xi互异,类似地,由二阶至n阶差商的定义得上述所有n+1个等式相加,得n次Newton插值公式其中,插值误差为:容易验证,Newton插值满足插值条件:

Nn(xi)=f(xi),i=0,1,2,…,n.关于Lagrange插值和Newton插值的几点说明1.由插值的唯一性,Ln(x)=Nn(x)。因此,Newton插值是Lagrange插值的另一种表示形式。他们的误差也相同,即当f(x)∈Cn+1[a,b]时,有故得差商的性质42.

牛顿插值的误差不要求函数的高阶导数存在,所以更具有一般性。它对f(x)是由离散点给出的函数情形或f(x)的导数不存在的情形均适用。3.引入记号:

f[x0]=f(x0),t0(x)=1,t1(x)=x−x0,t2(x)=(x−

x0)(x−

x1),…,tn(x)=(x−

x0)(x−

x1)…(x−

xn−1),于是n次Newton插值公式可表为称t0(x),t1(x),t2(x),…,

tn(x)为Newton插值的基函数,而且满足如下关系:

ti(x)=ti−1(x)(x−xi−1),i=1,2,…,n;

ti(xj)=0,j<i,

ti(xj)≠0,j≥i.4.

Newton插值具有承袭性质,即第i个节点以后非零5.Newton插值公式的计算量

乘(Nn(x)的公式):1+2+…+(n−1)+n=n(n+1)/2

除(计算差商表):1+2+…+(n−1)+n=n(n+1)/2因此,当增加一个节点时,只需在差商表中再新计算一行。但是,如果将Nn(x)改写成秦九韶格式,则仅需次乘除法运算,比逐次线性插值还少一半。例

给定四个插值点(−2,17),(0,1),(1,2),(2,19),计算N2(0.9),N3(0.9)。解首先列差商表i

xif(xi)f[xi

−1,xi]f[xi

−2,xi

−1,xi]f[xi

−3,xi

−2,xi

−1,xi]0

−2

171

01-82

12133

2191785/4所以,N2(0.9)=17−8(0.9+2)+3(0.9+2)×0.9=1.63;N3(0.9)=N2(0.9)+1.25×0.9(0.9+2)(0.9−1)=1.30375.

Newton插值的算法用牛顿插值公式,首先要计算各阶差商值,然后再计算插值。牛顿插值由承袭性质容易实现,关键是实现差商。(1).输入初始数据:节点数n+1,插值点序列{xi,f(xi)},i=0,1,2,…,n,及要计算的函数点u;(2).形成差商表

g[k],k=0,1,…,n;(g[k]=f[x0,…,xk])(3).形成插值基函数及插值

t=1,newton=f(x0)

对i=1,2,…,nt=t(u−xi−1);(由tk=tk

1

(u−xk−1)形成(u−x0)…

(u−xi−1)

)

newton=newton+tg[i](4).输出牛顿插值Nn(u)=newton。牛顿插值公式中只用到差商表中对角线上的差商,即

f[x0],

f[x0,x1],f[x0,x1,x2],…,f[x0,x1,…,xn].

可以分别用一维数组g[i]来存放这些差商,i=0,1,2,…,n.形成差商具体步骤:(1)对g[i]初始化,即g[i]=f(i),i=0,1,2,…,n.(2)除了g[0](即f(x0))以外,其余函数值在计算一阶差商后不再使用,因此可用来存放一阶差商,即

g[j]=f[xj

−1,xj],j=n,n−1,…,2,1(3)类似地,计算二阶差商后,除g[1]=f[x0,x1]外,其余一阶差商也不再使用,可用g[j]存放二阶差商f[xj

−2,

xj

−1,

xj],

即g[j]=f[xj

−2,

xj

−1,

xj],j=n,n−1,…,2,…(4)最后,g[n]=f[x0,

x1,

…,xn].计算差商算法fori=0tong[i]=f(xi)fork=1tonforj=ntokg[j]=(g[j]–g[j−1])/(xj−

xj

−k)例解首先列差商表xif[xi]f[xi

−1,xi]f[xi

−2,xi

−1,xi]f[xi

−3,…,xi]f[xi

−4,…,xi]1.01.31.61.92.20.76519770.6200860-0.48370570.4554022-0.5489460-0.10873390.2818686-0.5786120-0.04944330.06587840.1103623-0.5715210-0.01181830.06806850.00182511.50.5118200-0.5735110-0.00497500.06843300.0018225-0.0000052从而所求插值多项式为如果将插值点x=1.5添入表内,并令N4(1.5)≈f(1.5),在Newton差商表中新计算一行。可将最后一个数值作为f[1.0,1.3,…,2.2,1.5]的近似,得到公式误差的一个近似估计:三、差分及其性质一般地,m阶差分定义为1.

线性性质,例如差分的重要性质2.

若f(x)

是m次多项式,则3.差分值可由函数值算出,即函数值可由差分值算出,即由Rn

(x)的表达式得4.各阶差分之间有如下关系5.差商和差分有如下关系函数的差分可以列成如下向前差分、向后差分和中心差分表向前差分、向后差分表中心差分表四、等距节点Newton插值由差商与向前差分的关系Newton插值基本公式为如果假设1.Newton前插公式

则插值公式化为其余项化为称为Newton前插公式插值余项为根据向前差分和向后差分的关系如果假设2.Newton后插公式插值余项为可得Newton后插公式一般地,计算x0附近的函数值用前插公式,计算

xn附近的函数值用后插公式。但是Newton插值仍然没有改变Lagrange插值的插值曲线在节点处有尖点,不光滑,插值多项式在节点处不可导等缺点。Newton插值法的优点是计算较简单,尤其是增加节点时,计算只要增加一项,这是Lagrange插值无法比的。

Newton插值和Lagrange插值虽然构造比较简单,插值函数连续,但都存在插值曲线在节点处有尖点,不光滑,插值多项式在节点处不可导等缺点。不少实际问题不但要求在节点上函数值相等,而且还要求它的导数值也相等(即要求在节点上具有一阶光滑度),甚至要求高阶导数也相等,满足这种要求的插值多项式就是埃尔米特(Hermite)插值多项式。下面只讨论函数值与导数值个数相等的情况。

则称H2n+1(x)为函数

y=f(x)的2n+1次Hermite插值多项式。

Hermite插值问题:三次Hermite插值多项式当n=1时,H3(x)为三次Hermite(埃尔米特)插值多项式。

设函数在2个节点处的函数值为,导数值为求一个函数,使其满足:根据未知数个数与方程个数之间的关系,以上4个方程可以确定4个未知数;而三次多项式正好有四个待定系数;因此考虑用三次多项式作为插值函数。三次Hermite插值多项式的构造可见书P136.

Hermite插值的构造——插值基函数法满足给定

n+1个节点

x0,x1,…,xn

上的函数值

yi

和导数值

y'i

,可以构造

2n+1次Hermite插值多项式其中,hi(x),gi(x)分别为对应于函数值和导数值的不高于

2n+1次插值基函数,它们满足下面我们推导基函数的具体表达式因此Hermite插值的误差估计:

f(x)∈C2n+2[a,b]时,存在ζ∈(a,b),使对于特殊情形n=1,由于得两点三次Hermite插值多项式及其余项解方法一

:由二点三次Hermite插值公式得所以与真值相比已有三位有小数字。方法二:直接用待定系数法求

由此可解得于是例4.3.2

求满足及的插值多项式及其余项表达式。解由给定条件,可确定次数不超过3的插值多项式。由于此多项式通过点

及,故其形式为其中A为待定常数,可由条件确定,通过计算可得其中为待定函数。构造为了求出余项的表达式,可设显然且故在内有5个零点(重根算两个)。反复应用罗尔定理,得在内至少有一个零点,故于是余项表达式为式中位于和所界定的范围内。用插值基函数法求Hermite插值多项式的基本步骤例4.3.3

给定

f(0)=1,f(1)=2,f'(0)=2,构造二次插值函数。解令

m1=0,得到二次Hermite插值函数

P2(x)

=−x2+2x+1.设f'(1)=m1,由三次Hermite插值公式得,(1)公式法

(2)插值基函数法设节点

x0上的二次基函数为t0(x),g0(x),节点

x1上的二次基函数为t1(x),它们满足由t0(x0)=1,即

b(0−1)=1,得

b=−1。由t'0(x0)=0,即

a(0−1)+a.0+b=0,得

a=−1。所以

(3)扩展牛顿法(带重节点差商)

写成差商表的形式,将带导数的节点X0及其上的函数值重复一遍,无导数的节点X1不重复,即

x

f(x)f'(x)

x001

x1012

X1

x212

1−1

扩展牛顿法—用牛顿差商表(重节点差商)构造Hermite插值给定插值点

(xi,f(xi),f'(xi)),i=0,1,2,…,n,重新定义插值节点序列:

z2i=z2i+1=xi,

i=0,1,2,…,n,

以偶数节点开始以奇数节点开始重节点差商定义:函数值取相应节点上的函数值,即

f(z2i)

=f(z2i+1)

=f(xi),i=0,1,2,…,n;对于一阶差商,二阶以后的各阶差商,直接按差商公式计算。由此得到差商型Hermite插值公式:差商表:

z

f(z)f[zi,zj]例4.3.4

已知

计算

f(1.36)。解

x

f(x)f

'(x)1.20.61.20.61.40.91.40.9

1.61.11.51.05−41.5−4555/41175/80.50.7例4.3.5

已知

计算插值多项式。解

x

f(x)f

'(x)-100-40-40-4

1-21-2046/2-122

-10-4053

1

2

1据此差商表可得插值多项式分段低次插值问题的提出 在区间[a,b]上用插值多项式P逼近函数f时,f和P在每个节点上的差异(理论上)应该为零。自然,我们期望在一切中间点上也能很好地逼近f,并且当插值点增加时这种逼近效果应该越来越好。 但上述的期望不可能实现的。当认识到这一点时,在数学界曾引起强烈的震动。反例狄里克莱(Dirichlet)函数如果取插值节点为有理数时:如果取插值节点为无理数时:插值多项式P的图象如下:(逼近函数效果极差)高次插值的病态性质:对于一个确定的区间,如果插值节点之间的距离较小,自然插值节点就增多,如果用一个多项式插值,自然次数就会升高,也就是说要用高次多项式插值。但不是次数越高,插值多项式的逼近效果越好!20世纪初,Runge就给出了一个等距节点插值多项式不收敛的例子。因此,既要增加插值结点,减小插值区间,又要不增加插值多项式的次数以减少误差,我们可以采用分段插值的办法。

一、分段线性Lagrange插值构造Lagrange线性插值1.分段线性插值的构造设插值节点为xi,函数值为yi,i=0,1,2,……,nhi=xi+1-xi,i=0,1,2,……,n-1,任取两个相邻的节点xk,xk+1,形成一个插值区间[xk,xk+1],k=0,1,2,…,n-1显然我们称由上式构成的插值多项式L1(x)为分段线性Lagrange插值多项式。i=0,1,2,…,n内插外插外插由前述余项定理可知,n次Lagrange插值多项式的余项为:2.分段线性插值的误差估计则分段线性插值L1(x)的余项为例

已知函数在区间[0,5]上取等距插值节点(如下表),求区间上分段线性插值函数,并利用它求出近似值。xi012345yi10.50.20.10.058820.03846解:

在每个分段区间上,于是,实际值:当n=7时,

P(4.5)=0.04762270321996当n=10时,P(4.5)=0.04705882352941由此可见,对于光滑性要求不高的插值问题,分段线性插值的效果非常好!计算也简单!0.04705882352941故也称折线插值,如右图:但曲线的光滑性较差,且在节点处有尖点。

YX1x0x1x2xn-1xnn如果增加节点的数量,减小步长,会改善插值效果。二、分段二次Lagrange插值1.分段二次插值的构造设插值节点为xi,函数值为yi,i=0,1,2,……,nhi=xi+1-xi,i=0,1,2,……,n-1,任取三个相邻的节点xk-1,xk,xk+1,以

[xk-1,xk+1]为插值区间构造二次Langrange插值多项式:2.分段二次插值的误差估计由于那么分段二次插值L2(x)的余项为:例:解:(1).分段线性Lagrange插值的公式为同理(2).分段二次Lagrange插值的公式为在以上的插值问题中,如果除了要求在插值节点的函数值给定外,还要求在节点处的导数值为给定值,即插值问题变为:问题:设函数在处的函数值为,导数值为个节点要求:求一个分段(共段)线性函数,使其满足:三、分段三次Hermite插值相当于再每一小段上应满足四个条件(方程),可以确定四个待定参数。三次多项式正好有四个系数,所以可以考虑用三次多项式函数作为插值函数,这就是所谓的分段三次埃尔米特插值,与分段线性插值一起都称为分段多项式插值。

设节点x0<x1<…<xn,分段插值函数Hn

(x)在两个相邻节点构成的小区间[xj

,xj+1](j=0,1,…n-1)上满足条件:用三次Hermite插值,当x[xj

,xj+1

]时,有其中四、三次样条插值

高次插值函数可以保证曲线的光滑性,但计算量大,有剧烈振荡,数值稳定性差;而分段线性插值在分段点上仅连续而不光滑(导数不连续),这往往不能满足工程设计的需要。样条函数可以同时解决这两个问题,使插值函数既是低阶分段函数,又是光滑的函数。样条:是指飞机或轮船等的制造过程中为描绘出光滑的外形曲线(放样)所用的工具。样条本质上是一段一段的三次多项式拼合而成的曲线,在拼接处,不仅函数是连续的,且一阶和二阶导数也是连续的。1946年,Schoenberg将样条引入数学,即所谓的样条函数。三次样条插值函数的定义定义:给定区间[a,b]上的一个划分:a=x0<x1<…<xn=b,已知函数f(x)在点xj上的函数值为 f(xj)=

yj,(j=0,1,2,···,n)如果存在分段函数满足下述条件:(1)S(x)在每一个子区间[xj-1,xj

](j=0,1,2,···,n)上是一个三次多项式;(2)S(x)在每一个内接点xj

(j=0,1,2,···,n)上具有直到二阶的连续导数;则称S(x)为节点x0,x1,…,xn

上的三次样条函数。若S(x)在节点x0,x1,…,xn

上还满足插值条件:(3)S(xj)=yj

(j=0,1,2,···,n)则称S(x)为三次样条插值函数。(即全部通过样点的二阶连续可微的分段三次多项式函数)三次样条插值多项式的确定:由(1)知,S(x)在每一个小区间[xj-1

,xj

]上是一三次多项式,若记为Sj(x),则可设要确定函数S(x)的表达式,须确定4n个未知系数{Aj,Bj,Cj,Dj}(j=1,2,…,n)。由(2)知,S(x),S′

(x),S″

(x)在内节点x1,x2,…,xn-1上连续,则j=1,2,…,n-1可得3n-2个方程,又由条件(3)j=1,2,…,n得n+1个方程,共可得4n-2个方程。要确定4n个未知数,还差两个方程。通常在端点x0=a,xn=b处各附加一个条件,称边界条件.共4n个方程,可唯一地确定4n个未知数。给出边界端点的一阶导数值:三转角边界条件2.给出边界端点的二阶导数值:自然边界条件三弯矩边界条件特别的,周期边界条件常用的边界条件有三种类型:3.如果不知道,我们可以要求与在端点处近似相等。这时以为节点作一个三次Newton插值多项式以作一个三次Newton插值多项式,要求由这种边界条件建立的三次样条称为的Lagrange三次样条插值函数。补充:例已知f(x):f(-1)=1,f(0)=0,f(1)=1,求f(x)在[-1,1]上的三次自然样条插值函数。解设由插值条件和函数连续条件得:由一阶及二阶导数连续得:由自然边界条件得:联立上面8个方程,求解得故三次样条插值在Matlab中的实现在Matlab中数据点称之为断点。如果三次样条插值没有边界条件,最常用的方法,就是采用非扭结(not-a-knot)条件。这个条件强迫第1个和第2个三次多项式的三阶导数相等。对最后一个和倒数第2个三次多项式也做同样地处理。Matlab中三次样条插值也有现成的函数:y=interp1(x0,y0,x,'spline');y=spline(x0,y0,x);pp=csape(x0,y0,conds),pp=csape(x0,y0,conds,valconds),y=ppval(pp,x)。其中x0,y0是已知数据点,x是插值点,y是插值点的函数值。对于三次样条插值,我们提倡使用函数csape,csape的返回值是pp形式,要求插值点的函数值,必须调用函数ppval。pp=csape(x0,y0):使用默认的边界条件,即Lagrange边界条件。pp=csape(x0,y0,conds,valconds)中的conds指定插值的边界条件,其值可为:'complete'

边界为一阶导数,一阶导数的值在valconds参数中给出,若忽略valconds参数,则按缺省情况处理。'not-a-knot'

非扭结条件'periodic'

周期条件'second'

边界为二阶导数,二阶导数的值在valconds参数中给出,若忽略valconds参数,二阶导数的缺省值为[0,0]。'variational'

设置边界的二阶导数值为[0,0]。对于一些特殊的边界条件,可以通过conds的一个矩阵来表示,conds元素的取值为0,1,2。conds(i)=j的含义是给定端点的阶导数,

即conds的第一个元素表示左边界的条件,第二个元素表示右边界的条件。详细情况请使用帮助helpcsape。例

机床加工待加工零件的

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论