文档库 最新最全的文档下载
当前位置:文档库 › 插值及其误差

插值及其误差

插值及其误差
插值及其误差

(1)用tan x 表格直接计算tan 5。

(2)用sin 5和cos 5来计算tan 5。并讨论这两个结果中误差变化的原因。

插值:求过已知有限个数据点的近似函数。 1 插值方法

下面介绍几种基本的、常用的插值:拉格朗日多项式插值、牛顿插值、分段线性插

值、Hermite 插值和三次样条插值。 拉格朗日多项式插值 1.1.1 插值多项式

用多项式作为研究插值的工具,称为代数插值。其基本问题是:已知函数

()f x 在区间[],a b 上1n +个不同点01,,,n x x x 处的函数值

()()0,1,

,i i y f x i n ==,求一个至多n 次多项式 ()01n n n x a a x a x ?=++

+(1)

使其在给定点处与()f x 同值,即满足插值条件

()()n i i i x f x y ?==(2)

()n i x ?称为插值多项式,()0,1,,i x i n =称为插值节点,简称节点,[],a b 称为插

值区间。从几何上看,n 次多项式插值就是过1n +个点()()(),0,1,,i i x f x i n =,

作一条多项式曲线()n y x ?=近似曲线()y f x =。

n 次多项式(1)有1n +个待定系数,由插值条件(2)恰好给出1n +个方程

01000

01111

01n

n n n n n

n n n

a a x a x y a a x a x y a a x a x y ?+++=?

+++=???

?+++=?(3)

记此方程组的系数矩阵为A ,则

()0

1111det 1n n

n n

n

x x x x A x x =

是范德蒙特(Vandermonde)行列式。当01,,,n x x x 互不相同时,此行列式值不为

零。因此方程组(3)有唯一解。这表明,只要1n +个节点互不相同,满足插值要求(2)的插值多项式(1)是唯一的。 插值多项式与被插函数之间的差

()()()n n R x f x x ?=-

称为截断误差,又称为插值余项。当()f x 充分光滑时,

()()()()()

()()()11,,1!

n n n n f R x f x L x x a b n ξωξ++=-=

∈+

其中()()10

n

n j j x x x ω+==∏-。

1.1.2 拉格朗日插值多项式

实际上比较方便的作法不是解方程(3)求待定系数,而是先构造一组基函数

()()()()()()()()()

()

0110110,0,1,,i i n i i i i i i i n n

j j i j

j i

x x x x x x x x l x x x x x x x x x x x i n x x -+-+=≠----=

-----=∏

=-

()i l x 是n 次多项式,满足 ()0

1i j j i l x j i

≠?=?

=?

()()000

n

n

n j

n i i i j i i i j j i x x L x y l x y x x ===≠??

- ?==∏

?-??

∑∑(4) 上式称为n 次 Lagrange 插值多项式,由方程(3)解的唯一性,1n +个节点的n 次Lagrange 插值多项式存在唯一。 1.1.3 用Matlab 作Lagrange 插值

Matlab 中没有现成的Lagrange 插值函数,必须编写一个M 文件实现Lagrange 插值。

设n 个节点数据以数组0,0x y 输入,m 个插值点以数组x 输入,输出数组y 为

m 个插值。编写一个名为的M 文件: function y=lagrange(x0,y0,x); n=length(x0);m=length(x); for i=1:m z=x(i); s=;

for k=1:n p=;

for j=1:n if j~=k

p=p*(z-x0(j))/(x0(k)-x0(j)); end end s=p*y0(k)+s; end y(i)=s; end sin =0. cos = tan =

分段线性插值

1.2.1 插值多项式的振荡

用Lagrange 插值多项式()n L x 近似()f x ()a x b ≤≤,虽然随着节点个数的增加,()n L x 的次数n 变大,多数情况下误差()n R x 会变小。但是n 增大时,()n L x 的光滑性变坏,有时会出现很大的振荡。理论上,当n →∞,在[],a b 内并不能保证()n L x 处处收敛于()f x 。Runge 给出了一个有名的例子:

()[]2

1

,5,51f x x x

=

∈-+

对于较大的x ,随着n 的增大,()n L x 振荡越来越大,事实上可以证明,仅当

3.63x ≤时,才有()()lim n n L x f x →∞

=,而在此区间外,()n L x 是发散的。

高次插值多项式的这些缺陷,促使人们转而寻求简单的低次多项式插值。 1.2.2 分段线性插值 简单地说,将每两个相邻的节点用直线连起来,如此形成的一条折线就是分段线性插值函数,记作()n I x ,它满足()n i i I x y =,且()n i i I x y =在每个小区间

[]1,i i x x +上是线性函数()0,1,

,i n =。

()n I x 可以表示为

()()0

n

n i i i I x y l x ==∑

()[]()[]()1-11+1

1+1,,0,

,0,i i i i i i i i i i i x x x x x i x x x x l x x x x i n x x --+-?∈=?-??-=∈=?-????

时舍去时舍去其它

()n I x 有良好的收敛性,即对于[],x a b ∈, ()()lim n n I x f x →∞

=

用()n I x 计算x 点的插值时,只用到x 左右的两个节点,计算量与节点个数n 无关。但n 越大,分段越多,插值误差越小。实际上用函数表作插值计算时,分段线性插值就

足够了,如数学、物理中用的特殊函数表,数理统计中用的概率分布表等。 1.2.3 用Matlab 实现分段线性插值

用 Matlab 实现分段线性插值不需要编制函数程序,Matlab 中有现成的一维插值函数interp1。

y=interp1(x0,y0,x,'method')

method 指定插值的方法,默认为线性插值。其值可为: 'nearest' 最近项插值 'linear' 线性插值

'spline' 逐段3次样条插值 'cubic' 保凹凸性3次插值。

所有的插值方法要求x0是单调的。

当 x0 为等距时可以用快速插值法,使用快速插值法的格式为'*nearest'、'*linear'、'*spline'、'*cubic'。 样条插值

许多工程技术中提出的计算问题对插值函数的光滑性有较高要求,如飞机的机翼外形,内燃机的进、排气门的凸轮曲线,都要求曲线具有较高的光滑程度,不仅要连续,而且要有连续的曲率,这就导致了样条插值的产生。 1.3.1 样条函数的概念

所谓样条(Spline )本来是工程设计中使用的一种绘图工具,它是富有弹性的细木条或细金属条。绘图员利用它把一些已知点连接成一条光滑曲线(称为样条曲线),并使连接点处有连续的曲率。

数学上将具有一定光滑性的分段多项式称为样条函数。具体地说,给定区间

[],a b 的一个分划

011:n n a x x x x b -?=<<

<<=

如果函数()s x 满足:

(1)在每个小区间[]()1,0,1,

,1i i x x i n -=-上()s x 是k 次多项式;

(2)()s x 在[],a b 上具有1k -阶连续导数。

则称()s x 为关于分划?的k 次样条函数,其图形称为k 次样条曲线。

01,,,n x x x 称

为样条节点,121,,,n x x x -称为内节点,0,n x x 称为边界点,这类样条函数的全体

记做(),P S k ?,称为k 次样条函数空间。 显然,折线是一次样条曲线。

若()(),P s x S k ∈?,则()s x 是关于分划?的k 次多项式样条函数。k 次多项式样条函数的一般形式为

()()1

!

k!

i

k

n k i i

k j i j x s x x x i αβ-+

===+-∑

其中()0,1,

,i i k α=和()1,2,,1j j n β=-均为任意常数,而

()()(),,1,2,,10

,k

k

j j

j j x x x x x x j n x x +?-≥?-==-?

二次样条函数:对于[],a b 上的分划011:n n a x x x x b -?=<<

<<=,则

()()()1

22

2

2010

,22!

2!

n i

j P j s x x x x x S βααα-+

==++

+-∈?∑

(5)

其中()

()()2

2,,1,2,

,10

,j j j j x x x x x x j n x x +

?-≥?-==-?

三次样条函数:对于[],a b 上的分划011:n n a x x x x b -?=<<

<<=,则

()()()1

3

2

3

3

2

3010

,32!

3!

2!

n i

j P j s x x x x x x S αβααα-+

==++

+

+-∈?∑

(6)

其中()()()3

3,,1,2,,10

,j j

j j x x x x x x j n x x +

?-≥?-==-?

利用样条函数进行插值,即取插值函数为样条函数,称为样条插值。例如分段线性插值是一次样条插值。下面我们介绍二次、三次样条插值。 1.3.2 二次样条函数插值

首先,我们注意到()()2,2P s x S ∈?中含有2n +个特定常数,故应需要2n +个插值条件,因此,二次样条插值问题可分为两类: 问题(1):

已知插值节点i x 和相应的函数值()0,1,,i y i n =以及端点0x (或n x )处的导

数值0'y (或)'n y ,求()()2,2P s x S ∈?使得

()()()()()

22000,1,2,,''i i n n n s x y i n s x y s x y ==???==??或(7) 事实上,可以证明这两类插值问题都是唯一可解的。 对于问题(1),由条件(7)

()()()()()()2

20010200221

011211122

201202012001212112,3,,22''n j j j i j i j j s x x x y s x x x y

s x x x x x y j n s x x y αααααααααβαα-=?=++=??

?=++=??

?=+++-==??

?=+=?

∑ 引入记号()01211,,,,,T

n X αααββ-=为未知向量,()010,,

,,'n C y y y y =为已

知向量。

()()

()200211222

221222110

1100

21100

2111

22111122

2

1

0n n n n n x x x x x x x x A x x x x x x x -??????????????-=??????

??--??????

于是,问题转化为求方程组AX C =的解()01211,,,,,T

n X αααββ-=的问题,

即可得到二次样条函数()2s x 的表达式。 1.3.3 三次样条函数插值

由于()()3,3P s x S ∈?中含有3n +个特定常数,故应需要3n +个插值条件,已知插值节点i x 和相应的函数值()()0,1,

,i i f x y i n ==,这里提供了1n +个条

件,还需要2个边界条件。

常用的三次样条函数的边界条件有3种类型:

(1)()()303'',''n s a y s b y ==。由这种边界条件建立的样条插值函数称为

()f x 的完备三次样条插值函数。

特别地,0''0n y y ==时,样条曲线在端点处呈水平状态。

如果()'f x 不知道,我们可以要求()3's x 与()'f x 在端点处近似相等。这时以0123,,,x x x x 为节点作一个三次Newton 插值多项式()a N x ,以123,,,n n n n x x x x ---作一个三次 Newton 插值多项式()b N x ,要求

()()()()'',''a b s a N a s b N b ==

由这种边界条件建立的三次样条称为()f x 的Lagrange 三次样条插值函数。 (2)()()3033'''',''''s x y s b y ==。特别地'''0n n y y ==时,称为自然边界条件。 (3)()()()()3333'0'0,''0''0s a s b s a s b +=-+=-,(这里要求()()3300s a s b +=-)此条件称为周期条件。

三次样条插值在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),y=ppval(pp,x)。

其中x0,y0是已知数据点,x 是插值点,y 是插值点的函数值。

对于三次样条插值,提倡使用函数csape ,csape 的返回值是pp 形式,要求插值点的函数值,必须调用函数ppval 。 pp=csape(x0,y0):使用默认的边界条件,即Lagrange 边界条件。 pp=csape(x0,y0,conds)中的conds 指定插值的边界条件,其值可为: 'complete' 边界为一阶导数,即默认的边界条件 'not-a-knot' 非扭结条件 'periodic' 周期条件 'second' 边界为二阶导数,二阶导数的值[0, 0]。 'variational' 设置边界的二阶导数值为[0,0]。

对于一些特殊的边界条件,可以通过conds 的一个1×2矩阵来表示,conds 元素的取值为1,2。此时,使用命令 pp=csape(x0,y0_ext,conds)

其中y0_ext=[left, y0, right],这里left表示左边界的取值,right表示右边界的取值。

conds(i)=j的含义是给定端点i 的j 阶导数,即conds的第一个元素表示左边界的条件,第二个元素表示右边界的条件,conds=[2,1]表示左边界是二阶导数,右边界是一阶导数,对应的值由left和right给出。

2 源程序

clc

clear all

close all

x0=[ ];

% y0=[ ];

y00=[ ];

y0=[ ];

x=;

digits(16);

y1=vpa(lagrange(x0,y0,x)) %调用前面编写的Lagrange插值函数

y2=vpa(interp1(x0,y0,x)) %分段线性插值

y3=vpa(interp1(x0,y0,x,'spline')) %边界为一阶导数的三次样条插值

pp1=csape(x0,y0); y4=vpa(ppval(pp1,x)) %边界为一阶导数的三次样条插值

pp2=csape(x0,y0,'second'); y5=vpa(ppval(pp2,x)) %边界为二阶导数的三次样条插

y1=vpa(lagrange(x0,y00,x))

y2=vpa(interp1(x0,y00,x))

y3=vpa(interp1(x0,y00,x,'spline'))

pp1=csape(x0,y00); y4=vpa(ppval(pp1,x))

pp2=csape(x0,y00,'second'); y5=vpa(ppval(pp2,x))

3 结果

Lagrange插值结果

sin 0.

cos

sin cos

tan

分段线性插值结果

sin

cos

sin cos

tan

边界为一阶导数的三次样条插值

sin 0.

cos

sin cos

tan

边界为一阶导数的三次样条插值(使用csape)

sin 0.

cos

sin cos

tan

边界为二阶导数的三次样条插值

sin 0.

cos

sin cos

tan

MATLAB计算的近似值(作为准确值)sin

cos

tan

拉格朗日插值多项式与泰勒多项式的误差分析详全文

i. 拉格朗日插值多項 ii. 式與泰勒多項式的誤差分析 iii. 朱亮儒★ 曾政清☆ 陳昭地★ iv. ★國立臺灣師範大學數學系教授 v. ☆臺北市立建國高級中學數學教師 vi. vii. 摘要:本文旨於提供拉格朗日插值多項式與泰勒多項式誤差項估計值的初 等簡易證明,並探討其應用價值。 viii. 關鍵字:拉格朗日插值多項式、泰勒多項式、誤差項 ix. 一 引言 x. 有鑑於教育部99普通高級中學數學課綱在第一冊多項式的運算為迴避解三元一次方程組,首次出現插值多項式及其應用(以不超過三次插值多項式為限)([1][2][3]),99數學課綱包含插值多項式部分如下: xi. 求 xii. 32()2563f x x x x =-++ xiii. (1)(1)(2)(1)(2)(3)a b x c x x d x x x =+-+--+--- xiv. 中的, , , a b c d . xv. ()f x 除以()()x a x b --的餘式為通過()(),(),,()a f a b f b 的插值多項 式。 xvi. 若f 有,a b 兩實根,則f 可寫成()()()()f x q x x a x b =--的型式。

xvii. 透過因式定理證明插值多項式的唯一性。 xviii. 設通過(1,1),(2,3),(3,7)的多項式為 ()(1)(1)(2)f x a b x c x x =+-+--,求,,a b c 及12f ?? ??? . xix. 插值多項式:通過(11,3),(12,5),(13,8)的多項式可表示為 xx. (12)(13)(11)(13)(11)(12)()358(1112)(1113)(1211)(1213)(1311)(1312) x x x x x x f x ------=? +?+?------, xxi. 求(11.5)f 的值。 xxii. 此處暫不處理下面的題型:「設通過(1, 1), (2, 3), (3, 7)的多項式為 2()f x a bx cx =++,求,,a b c 。」此類題型將在數學的IV 的聯立方程組章節中處理。 xxiii. 此處自然而然讓人想到拉格朗日(Lagrange, J. L., 1736-1816)其人奇事,羅 列如下: xxiv. 他出生於義大利西北部的杜林(Turin),從小就極有數學天分,於18歲開始 撰寫數學論文,在數論上曾提出一個著名的定理:「任意正整數都可以表成四個平方數的和」。 xxv. 他是第一位證明均值定理(The Mean Value Theorem)的大數學家。(均值定理 在高三選修甲微分的單元中會學到([4]),它是僅次於微積分基本定理的極重要的存在定理) xxvi. 他在30歲時,應腓特烈二世的邀請到柏林作為其宮廷數學大師長達20年 之久。

拉格朗日插值法理论及误差分析

浅析拉格朗日插值法 目录: 一、 引言 二、 插值及多项式插值的介绍 三、 拉格朗日插值的理论及实验 四、 拉格朗日插值多项式的截断误差及实用估计式 五、 参考文献 一、引言 插值在数学发展史上是个古老问题。插值是和拉格朗日(Lagrange )、牛顿(Newton )、高斯(Gauss )等著名数学家的名字连在一起的。在科学研究和日常生活中,常常会遇到计算函数值等一类问题。插值法有很丰富的历史渊源,它最初来源人们对天体研究——有若干观测点(我们称为节点)计算任意时刻星球的位置(插值点和插值)。现在,人们在诸如机械加工等工程技术和数据处理等科研都有很好的应用,最常见的应用就是气象预报。插值理论和方法能解决在实际中当许多函数表达式未知或形式复杂,如何去构造近似表达式及求得在其他节点处的值的问题。 二、插值及多项式插值 1、插值问题的描述 设已知某函数关系()y f x =在某些离散点上的函数值: 插值问题:根据这些已知数据来构造函数()y f x =的一种简单的近似表达式,以便于计算点,0,1,,i x x i n ≠= 的函数值()f x ,或计算函数的一阶、二阶导数值。 x 0x 0 y y 1 y 1 n y -n y 1 x 1 n x -n x

2、插值的几何意义 插值的几何意义如图1所示: 图1 3、多项式插值 3.1 基本概念 假设()y f x =是定义在区间,a b ????上的未知或复杂函数,但一直该函数在点01n a x x x b ≤<<<≤ 处的函数值01,,n y y y 。找一个简单的函数,例如函数 ()P x ,使之满足条件 (),0,1,2,, i P x y i n == (3.1) 通常把上述01n x x x <<< 称为插值节点,把()P x 称为()f x 的插值多项式,条件(3.1)称为插值条件,并把求()P x 的过程称为插值法。 3.2 插值多项式的存在性和唯一性 如果插值函数是如下m 次的多项式: 1 011()m m m m m P x a x a x a x a --=+++ 那么插值函数的构造就是要确定()m P x 表达式中的m+1个系数 011,,,m m a a a a - 。由于插值条件包含n+1独立式,只要m=n 就可证明插值函数多项式是唯一存在。 实际上,由n+1个插值条件可得

插值及其误差

(1)用tan x 表格直接计算tan 1.569 5。 (2)用sin 1.569 5和cos 1.569 5来计算tan 1.569 5。并讨论这两个结果中误差变化的原因。 插值:求过已知有限个数据点的近似函数。 1 插值方法 下面介绍几种基本的、常用的插值:拉格朗日多项式插值、牛顿插值、分段线性插 值、Hermite 插值和三次样条插值。 1.1 拉格朗日多项式插值 1.1.1 插值多项式 用多项式作为研究插值的工具,称为代数插值。其基本问题是:已知函数 ()f x 在区间[],a b 上1n +个不同点01,,,n x x x 处的函数值 ()()0,1, ,i i y f x i n ==,求一个至多n 次多项式 ()01n n n x a a x a x ?=++ +(1) 使其在给定点处与()f x 同值,即满足插值条件 ()()n i i i x f x y ?==(2) ()n i x ?称为插值多项式,()0,1,,i x i n =称为插值节点,简称节点,[],a b 称为插 值区间。从几何上看,n 次多项式插值就是过1n +个点()()(),0,1,,i i x f x i n =, 作一条多项式曲线()n y x ?=近似曲线()y f x =。 n 次多项式(1)有1n +个待定系数,由插值条件(2)恰好给出1n +个方程 01000 01111 01n n n n n n n n n a a x a x y a a x a x y a a x a x y ?+++=? +++=??? ?+++=?(3) 记此方程组的系数矩阵为A ,则

()0 11 11det 1n n n n n x x x x A x x = 是范德蒙特(Vandermonde)行列式。当01,,,n x x x 互不相同时,此行列式值不为 零。因此方程组(3)有唯一解。这表明,只要1n +个节点互不相同,满足插值要求(2)的插值多项式(1)是唯一的。 插值多项式与被插函数之间的差 ()()()n n R x f x x ?=- 称为截断误差,又称为插值余项。当()f x 充分光滑时, ()()()()() ()()()11,,1! n n n n f R x f x L x x a b n ξωξ++=-=∈+ 其中()()10 n n j j x x x ω+==∏-。 1.1.2 拉格朗日插值多项式 实际上比较方便的作法不是解方程(3)求待定系数,而是先构造一组基函数 ()()()()()()()()() () 0110110,0,1,,i i n i i i i i i i n n j j i j j i x x x x x x x x l x x x x x x x x x x x i n x x -+-+=≠----= -----=∏ =- ()i l x 是n 次多项式,满足 ()0 1i j j i l x j i ≠?=? =? 令 ()()000 n n n j n i i i j i i i j j i x x L x y l x y x x ===≠?? - ?==∏ ?-?? ∑∑(4) 上式称为n 次 Lagrange 插值多项式,由方程(3)解的唯一性,1n +个节点的n 次Lagrange 插值多项式存在唯一。 1.1.3 用Matlab 作Lagrange 插值 Matlab 中没有现成的Lagrange 插值函数,必须编写一个M 文件实现Lagrange 插值。 设n 个节点数据以数组0,0x y 输入,m 个插值点以数组x 输入, 输出数组y 为

拉格朗日多项式插值

拉格朗日多项式插值法浅析 摘要 拉格朗日插值多项式是一种最常见的多项式插值法,也是一种最常用的逼近工具。“学以致用 ”是每一门学科都致力追求的境界,数学自然也不例外。下面,探讨拉格朗日插值法的基本原理、如何构造拉格朗日多项式、拉格朗日多项式的误差界,并用 MATLAB 程序来实现这一数学算法的自动化,为复杂的分析研究提供了一条数学算法的捷径。 【关键词】:拉格朗日多项式 算法实现 MATLAB 在科学研究和实际的工程设计中,几乎所有的问题都可以用)(x f y =来表示其某种内在规律的数量关系。但理想化的函数关系在实际工程应用中是很难寻找 的,对于那些没有明显解析式的函数关系表达式则只能通过实验观察的数据,利用多项式对某一函数的进行逼近,使得这个逼近函数能够反映)(x f 的特性,而且利用多项式就可以简便的计算相应的函数值。例如我们不知道气温随日期变化的具体函数关系,但是我们可以测量一些孤立的日期的气温值,并假定此气温随日期变化的函数满足某一多项式。这样,利用已经测的数据,应用待定系数法便可以求得一个多项式函数f (x )。应用此函数就可以计算或者说预测其他日期的气温值。一般情况下,多项式的次数越多,需要的数据就越多,而预测也就越 准确。当然,构造组合多项式方法比较多,如线性方程求解、拉格朗日系数多项式以及构造牛顿多项式的分段差分和系数表等等,这里只对拉格朗日多项式插值法进行深入探讨。 一、拉格朗日多项式插值算法基本原理 函数)(x f y =在区间[a,b]上有定义,在是[ a,b]上取定的 N + 1个互异节点, 且在这些点处的函数值)(0x f , )(1x f ,…,)(n x f 为已知, 即 yi =f (xi ) , (N i ...1,0=),若存在一个和)(x f 近似的函数)(x P N ,满足 )()(i i N x f x P = (N i ...1,0=) (1) 则称 φ(x) 为 f (x) 的一个插值函数, 点i x 为插值节点,(1)称为插值条件, 区间[a,b]称为插值区间, 而误差函数)()(x P x f E N N -=称为插值余项。即是求一个不超过N 次多项式0111...)(a x a x a x a x P N N N N N ++++=-- (N i ...1,0=) 满足 )()(i i N x f x P = (N i ...1,0=)

拉格朗日插值法理论及误差分析

拉格朗日插值法理论及误差分析 浅析拉格朗日插值法目录:一、引言二、插值及多项式插值的介绍三、拉格朗日插值的理论及实验四、拉格朗日插值多项式的截断误差及实用估计式五、 1、截断误差在[a,b]区间上用Ln(x)近似未知或复杂函数f(x),其截断误差是指Rn?x??f?x??Ln?x?通常称Rn?x?为拉格朗日插值余额。注意到利用公式估计截断误差实际上非常困难。一是因为它要计算函数f(x)的高阶导数,当f(x)很复杂时,计算量很大,而当f(x)没有可用来计算的表达式时,导数无法准确计算;二是因为即使能得到高阶导数的解析式,但于?的具体位置不知道,所以要估计高阶导数在插值区间上的界一般是非常困难的事情。因此,公式并不实用。 2、截断误差的实用

估计式既然公式估计误差时不实用,那么实际中如何估计截断误差呢?假设插值条件中包含n+2组数据?,n,n?, 1f(xi)?yi , i?0,1那么利用n+1组数据我们可以构造一个n 次拉格朗日插值多项式Ln(x),利用后n+1组数据我们可以构造另一个n次拉格朗日插值多项式L*n(x)。利用公式知,他们各自的插值余项为f(x)?Ln(x)?1f(n?1)(?)(x?x0)(x?x1)?(x?xn), (n?1)!1f(n?1)(?*)(x?x1)(x?x2)?(x?xn?1), (n?1)!f(x)?L*n(x)?两式相减得L*n(x)?Ln(x)?并可写成1fn?1(?)(x?x1)?(x?xn)(xn?1?x0), (n?1)!L*(x)?Ln(x)1(n?1) f(?)(x?x1)?(x?xn)?n. (n?1)!xn?1?x0注意到上式中利用fn?1(?)?fn?1(?*).该条件在很多情况下是成立的。利用式可得?Ln(x)?L*n(x)R(x)?f(x)?L(x)?,n? nx0?xn?1? ? *?R*(x)?f(x)?L*(x)?Ln(x)?Ln(x),nn?xn?1

拉格朗日插值法理论及误差分析

目录: 一、 引言 二、 插值及多项式插值的介绍 三、 拉格朗日插值的理论及实验 四、 拉格朗日插值多项式的截断误差及实用估计式 五、 参考文献 一、引言 插值在数学发展史上是个古老问题。插值是和拉格朗日(Lagrange )、牛顿(Newton )、高斯(Gauss )等著名数学家的名字连在一起的。在科学研究和日常生活中,常常会遇到计算函数值等一类问题。插值法有很丰富的历史渊源,它最初来源人们对天体研究——有若干观测点(我们称为节点)计算任意时刻星球的位置(插值点和插值)。现在,人们在诸如机械加工等工程技术和数据处理等科研都有很好的应用,最常见的应用就是气象预报。插值理论和方法能解决在实际中当许多函数表达式未知或形式复杂,如何去构造近似表达式及求得在其他节点处的值的问题。 二、插值及多项式插值 1、插值问题的描述 设已知某函数关系()y f x =在某些离散点上的函数值: 插值问题:根据这些已知数据来构造函数()y f x =的一种简单的近似表达式,以便于计算点,0,1,,i x x i n ≠=的函数值()f x ,或计算函数的一阶、二阶导数 值。 2、插值的几何意义 x x 0 y y 1 y 1 n y -n y 1 x 1 n x -n x

插值的几何意义如图1所示: 图1 3、多项式插值 基本概念 假设()y f x =是定义在区间,a b ????上的未知或复杂函数,但一直该函数在点01n a x x x b ≤<< <≤处的函数值01,,n y y y 。找一个简单的函数,例如函数 ()P x ,使之满足条件 (),0,1,2, ,,i P x y i n == () 通常把上述01n x x x << < 称为插值节点,把()P x 称为()f x 的插值多项 式,条件()称为插值条件,并把求()P x 的过程称为插值法。 插值多项式的存在性和唯一性 如果插值函数是如下m 次的多项式: 1011()m m m m m P x a x a x a x a --=++ + 那么插值函数的构造就是要确定()m P x 表达式中的m+1个系数 011,, ,m m a a a a -。由于插值条件包含n+1独立式,只要m=n 就可证明插值函数多 项式是唯一存在。 实际上,由n+1个插值条件可得

各种插值法的对比研究

各种插值法的对比研究

目录 1.引言 (1) 2.插值法的历史背景 (1) 3.五种插值法的基本思想 (2) 3.1拉格朗日插值 (2) 3.2牛顿插值 (3) 3.3埃尔米特插值 (3) 3.4分段线性插值 (4) 3.5三次样条插值 (5) 4.五种插值法的对比研究 (5) 4.1拉格朗日插值与牛顿插值的比较 (5) 4.2多项式插值法与埃尔米特插值的比较 (6) 4.3多项式插值法与分段线性插值的比较 (6) 4.4 分段线性插值与样条插值的比较 (6) 5.插值法在实际生活中的应用 (6) 6.结束语 (6) 致谢 (7) 参考文献 (7)

各种插值法的对比研究 摘要:插值法是一种古老的数学方法,也是数值计算中的一个算法.插值法不仅是微分方程、数值积分、数值微分等计算方法的基础,而且在医学、通讯、精密机械加工等领域都涉及到了它.本文首先介绍了插值的背景以及常用的五种插值法的基本思想,然后通过拉格朗日插值与牛顿插值、多项式插值与埃尔米特插值、多项式插值与分段线性插值、分段线性插值和样条函数插值给出相应的算法与MATLAB 程序,根据已学的知识对五种插值方法与被插函数的逼近程度进行对比研究,找出不同方法间的联系与区别,分析出它们的优缺点,最后在此基础上进一步研究插值法的实际应用,以提高插值法的实用性,从而能让我们在以后的应用中看到一个问题,就知道哪种方法更适合于它,然后大大地快速的提高效率. 关键词:多项式插值;样条函数插值;MATLAB 程序;应用 1.引言 在很多解题以及应用生活中,常常需要用数量关系来反映问题,但是有时没有办法通过数学语言准确地表达出来.已知有些变量之间存在一种函数关系,但没法用函数的表达式表示出来.比如,)(x f 在某个区间上[]b a ,是存在某种数量关系的,但是根据观察和测量或者实验只能得到有限个函数值,我们可以利用这几点来确定函数表达式.或者有一些函数表达式是已经知道的,但是它们的计算是十分繁琐复杂的,不容易发现它的本质,而且它的使用方法也比较局限.函数是表达数与数之间的联系,为了能很好地用数学语言表达出函数的关系,一般通过给定的数据构造一个函数)(x P ,这样既能反映函数)(x f 的特点,又方便计算,用)(x P 近似)(x f .通常选一个简单的函数)(x P ,而且=)(i x P )(i x f ()n i ,...,2,1,0=成立,这个时候的)(x P ,从要表达的函数规律来看,就是我们需要的插值函数[1] .所用方法就是插值法,由于所选用的)(x P 的多样化,得到不同的插值法. 2.插值法的历史背景 插值法的历史源远流长,在很早的时候就涉及到了它.它是数值计算中一个古老的分支,它来源于生产实践. 因为牛顿力学的物理理论知识在一千年前没有出现,所以我们的祖先没有办法用很准确的数学解析式来表达日月五星的运行规律.后来,古代的人们有着聪慧的头脑,想出了插值方法,然后发现了日月五星的运行规律.例如唐朝数学家张遂提出了插值法的概念以及不等距

第6章 实验五插值多项式的误差

第6章 实验五插值多项式的误差 实验目的:明确插值多项式逼近函数是有误差的,了解误差的分布,哪些地方误差大些,哪些地方误差小些。我们应该如何控制这些误差。 6.1 插值误差余项多项式 举例说明多项式插值误差情况,用ππ≤≤-x 上的5个等距点对函数 )cos(x y =进行插值估计,插值多项式是通过以下给定的数据点的四次多项式: ????? ? --=ππππ,2,0,2,x [])sin(),2/sin(),0sin(),2/sin(),sin(ππππ--=y 误差定义为: )()cos()(4x L x x e -= ),())(cos(! 5) )(2/)(0)(2/)(() 5(ππξξππππ-∈---++= x x x x x 其中)(x e 是插值余项,)(4x L 是5个数据点的拉格朗日插值多项式。图6.1是函数和误差的图形,可以观察到误差曲线是震荡的,它的值在接近端点的区间上最大,这种误差特性在等距多项式插值中十分典型,误差分布形状上的变化还取决于被插函数的性质及插值区间的大小a b -。 -0.8-0.6-0.4-0.20.20.40.60.8x c o s (x ) e (x ) 图6.1 函数和误差曲线的图形

清单6.1 (是作图6.1的程序) clear clc x=[-pi,-pi/2,0,pi/2,pi]; % 插值节点横坐标 y=[cos(-pi),cos(pi/2),cos(0),cos(pi/2),cos(pi)]; % 插值节点纵坐标 x1=-pi:0.001:pi; % 绘图点的横坐标 y1=Lagran_(x,y,x1); % 绘图点的纵坐标 e=cos(x1)-y1; % 插值误差 y2=e; plot(x,cos(x),'.',x1,cos(x1),'b',x1,y2,'r') % 绘出两个函数曲线图形 xlabel('x');ylabel('cos(x) e(x)') text(1.2,0.6,'cos(x)','fontsize',18) text(-1.1,-0.1,'e(x)=cos(x)-y','fontsize',18) 一般分析插值的误差: ),() ()! 1()())(()(11) 1(121+++∈+---= n n n x x f n x x x x x x x R ξξ )(m a x )! 1() ())(()()1(),(12111ξξ+∈+++---≤ n x x n f n x x x x x x x R n 如果当被插值)(x f 是一个n 阶或更低阶多项式,则)(x R =0,即误差为零。否则,右端给出了对任意x 的误差上界估计,右端的分布完全由)(x g 决定, )! 1()())(()(121+---= +n x x x x x x x g n 多项式函数)(x g 分布曲线由程序清单6.2给出,分布图形由图6.2(a )、(b )、(c )、(d )分别给出。 清单6.2 clear,clf,hold on x=-pi:pi/2:pi;

多项式插值的震荡现象

数值分析课程设计多项式插值的震荡现象 指导教师 学院名称 专业名称 提交日期

一、问题的提出 在一个固定区间上用插值逼近一个函数。显然,拉格朗日插值中使用的节点越多, (x)是否也更加靠近被逼近插值多项式的次数就越高。而插值多项式增加时,L n 的函数。下面就这个问题展开实验。 二、实验容 1.设区间[-1,1]上的函数,对其等距划分,写出其拉格朗日插值 多项式为。通过不断增加分点数n=2,3,…。 并:I.画出原函数f(x)及插值多项式函数L (x)在[-1,1]上的图像; n II.给出每一次逼近的最大误差; III.比较并分析实验结果。 2.选择其他函数,如定义在区间[-5,5]上的函数和, 重复上述I、II、III三个步骤看其结果如何。 3.区间[a,b]上切比雪夫点的定义为 ,k=1,2,…,n+1。以,,…,为插值节点构造上述各函数的Lagrange插值多项式,比较其结果。 三、实验结果及分析 1.I.画出函数f(x)及其插值多项式函数L (x)在[-1,1]上的图像,如下图, n (程序代码1.1.1)

II.由于fminbnd函数的不可靠性,先通过编程绘出每次逼近在定义区间上的误差如下图,(程序代码1.1.2) 观察图像可知每次逼近的最大误差在哪个区间,再通过编程缩小区间,得到其每次逼近最大误差为(截图如下,程序代码1.1.3), III.比较并分析实验结果: (1)在同一个坐标系中绘制f(x)及5次、7次等多次插值后的图像。从图中可以很清楚的看出,在[-0.4,0.4]的区间,随着插值次数的增加插值图像越来越逼近f(x),然而当|x|>0.8以后,插值曲线围绕原函数曲线发生剧烈震荡现象,尤其是插值次数越多时震荡越强烈。 (2)在同一个坐标系中绘制每次插值后的误差图像。从图中可以看出较大误差主要出现在中心及两段,而就每次逼近的最大误差分析。可以观察到:1.当插值次数在一定区间上增多时,其最大误差变小,即吻合度增高(5次插值最大误差是0.437,7次插值最大误差是0.2474);2.而超过一定区间,随着插值次数增加其最大误差越大,而且其最大误差x的取值越趋向于两端,于是发生了震荡现象。

第二章 插值法

第二章插值法 一、内容分析与教学建议 本章内容统称为插值法,包括Lagrange插值、逐步线性插值、Newton 插值、Hermite 插值、分段多项式插值、有理函数插值等内容,既是教学的重点。 在教学上,注意由浅入深,由直观到抽象,多用实例和图形作解释,建立插值概念,注意讲解上述插值是如何根据实际问题要求的提高而先后发展起来的。培养学生分析问题和解决问题的能力。 (一)L agrange插值 1、回顾《高等数学》的Taylor公式,讲解Taylor公式是根据某一点的多个信息得到近似多项式的插值思想。 2、将上述思想应用到多点的信息,即根据所给的多点的数据,建立插值多项式。 3、讲解过程中,沿着“发现问题→提出解决方法→方法的存在性和惟一性→建立Lagrange插值公式→误差公式”这样一个思路去讲解Lagrange插值的思想和方法。 (二)逐步线性插值 1、讲解为什么要建立逐步线性插值?这是由于Lagrange插值没有承袭性,当需要增加一个插值节点时,以前所做的工作要全部重做。 2、逐步线性插值是一个将高次插值转化成逐步线性插值的迭代过程,正是这一点使得逐步线性插值具有了承袭性。 3、强调逐步线性插值是求一点处近似值的快速方法,不太适合建立插值解析式。 (三)N ewton插值 1、Newton 插值克服了上述两类插值的缺点,继承了它们的优点:即具有承袭性,又是一个完整的解吸式,便于理论研究和分析。 2、首先掌握差分和差商的概念以及它们的性质,在此基础上建立Newton 插值公式和误差公式。 3、Newton 插值公式实际上是Lagrange插值公式的另外一种表现形式,这揭示了一种

插值法-第二次程序题

插值法 题目1:对 函数 在区间[-1,1]作下列插值逼近,并 和 的图像进行比较,并对结果进行分析。 (1)用等距节点,200,1.0,-1≤≤=+=i h ih x i 绘出它的20次Newton 插值 多项式的图像。 (2)用节点) 20,,2,1,0(,)42 1 2cos( ???=+=i i x i π,绘出它的20次Lagrange 插值多项式的图像。 (3)用等距节点,200,1.0,-1≤≤=+=i h ih x i 绘出它的分段线性插值函数 的图像。 (4)用等距节点,200,1.0,-1≤≤=+=i h ih x i 绘出它的三次自然样条插值 函数的图像。 程序及分析: (1)用等距节点,200,1.0,-1≤≤=+=i h ih x i 绘出它的20次Newton 插值 多项式的图像。 Matlab 程序如下: %计算均差 x=[-1::1]; n=length(x); syms z for i=1:n y(i)=1/(1+25*x(i)*x(i)); end N=zeros(n,n);

N(:,1)=y'; for j=2:n for k=j:n N(k,j)=(N(k,j-1)-N(k-1,j-1))/(x(k)-x(k-j+1)); end end for t=1:n c(t)=N(t,t) end %构造插值多项式 f=N(1,1); for k=2:n a=1; for r=1:(k-1) a=a*(z-x(r)); end f=f+N(k,k)*a; end %作图 a=[-1::1]; n=length(a); for i=1:n b(i)=1/(1+25*a(i)*a(i)); end fx=subs(f,z,a); subplot(2,1,1); plot(a,b,'k',a,fx,'r');

插值及其误差

用表中的数据和任一插值公式求: (1)用tan x 表格直接计算tan 5。 (2)用sin 5和cos 5来计算tan 5。并讨论这两个结果中误差变化的原因。 插值:求过已知有限个数据点的近似函数。 1 插值方法 下面介绍几种基本的、常用的插值:拉格朗日多项式插值、牛顿插值、分段线性插 值、Hermite 插值和三次样条插值。 拉格朗日多项式插值 1.1.1 插值多项式 用多项式作为研究插值的工具,称为代数插值。其基本问题是:已知函数 ()f x 在区间[],a b 上1n +个不同点01,,,n x x x L 处的函数值()()0,1,,i i y f x i n ==L ,求一个至多n 次多项式 ()01n n n x a a x a x ?=+++L (1) 使其在给定点处与()f x 同值,即满足插值条件 ()()n i i i x f x y ?==(2) ()n i x ?称为插值多项式,()0,1,,i x i n =L 称为插值节点,简称节点,[],a b 称为插 值区间。从几何上看,n 次多项式插值就是过1n +个点()()(),0,1,,i i x f x i n =L ,作一条多项式曲线()n y x ?=近似曲线()y f x =。

n 次多项式(1)有1n +个待定系数,由插值条件(2)恰好给出1n +个方程 010******* 01n n n n n n n n n a a x a x y a a x a x y a a x a x y ?+++=?+++=?? ??+++=?L L L L L L L L L L L L (3) 记此方程组的系数矩阵为A ,则 ()00 1111det 1n n n n n x x x x A x x = L L L L L L L L L 是范德蒙特(Vandermonde)行列式。当01,,,n x x x L 互不相同时,此行列式值不为零。因此方程组(3)有唯一解。这表明,只要1n +个节点互不相同,满足插值要求(2)的插值多项式(1)是唯一的。 插值多项式与被插函数之间的差 ()()()n n R x f x x ?=- 称为截断误差,又称为插值余项。当()f x 充分光滑时, ()()()()() ()()()11,,1! n n n n f R x f x L x x a b n ξωξ++=-= ∈+ 其中()()10 n n j j x x x ω+==∏-。 1.1.2 拉格朗日插值多项式 实际上比较方便的作法不是解方程(3)求待定系数,而是先构造一组基函数 ()()()()()()()()() () 0110110,0,1,,i i n i i i i i i i n n j j i j j i x x x x x x x x l x x x x x x x x x x x i n x x -+-+=≠----= -----=∏ =-L L L L L ()i l x 是n 次多项式,满足

插值及其误差

(1)用tan x 表格直接计算tan 5。 (2)用sin 5和cos 5来计算tan 5。并讨论这两个结果中误差变化的原因。 插值:求过已知有限个数据点的近似函数。 1 插值方法 下面介绍几种基本的、常用的插值:拉格朗日多项式插值、牛顿插值、分段线性插 值、Hermite 插值和三次样条插值。 拉格朗日多项式插值 1.1.1 插值多项式 用多项式作为研究插值的工具,称为代数插值。其基本问题是:已知函数 ()f x 在区间[],a b 上1n +个不同点01,,,n x x x 处的函数值 ()()0,1, ,i i y f x i n ==,求一个至多n 次多项式 ()01n n n x a a x a x ?=++ +(1) 使其在给定点处与()f x 同值,即满足插值条件 ()()n i i i x f x y ?==(2) ()n i x ?称为插值多项式,()0,1,,i x i n =称为插值节点,简称节点,[],a b 称为插 值区间。从几何上看,n 次多项式插值就是过1n +个点()()(),0,1,,i i x f x i n =, 作一条多项式曲线()n y x ?=近似曲线()y f x =。 n 次多项式(1)有1n +个待定系数,由插值条件(2)恰好给出1n +个方程 01000 01111 01n n n n n n n n n a a x a x y a a x a x y a a x a x y ?+++=? +++=??? ?+++=?(3) 记此方程组的系数矩阵为A ,则

()0 1111det 1n n n n n x x x x A x x = 是范德蒙特(Vandermonde)行列式。当01,,,n x x x 互不相同时,此行列式值不为 零。因此方程组(3)有唯一解。这表明,只要1n +个节点互不相同,满足插值要求(2)的插值多项式(1)是唯一的。 插值多项式与被插函数之间的差 ()()()n n R x f x x ?=- 称为截断误差,又称为插值余项。当()f x 充分光滑时, ()()()()() ()()()11,,1! n n n n f R x f x L x x a b n ξωξ++=-= ∈+ 其中()()10 n n j j x x x ω+==∏-。 1.1.2 拉格朗日插值多项式 实际上比较方便的作法不是解方程(3)求待定系数,而是先构造一组基函数 ()()()()()()()()() () 0110110,0,1,,i i n i i i i i i i n n j j i j j i x x x x x x x x l x x x x x x x x x x x i n x x -+-+=≠----= -----=∏ =- ()i l x 是n 次多项式,满足 ()0 1i j j i l x j i ≠?=? =? 令 ()()000 n n n j n i i i j i i i j j i x x L x y l x y x x ===≠?? - ?==∏ ?-?? ∑∑(4) 上式称为n 次 Lagrange 插值多项式,由方程(3)解的唯一性,1n +个节点的n 次Lagrange 插值多项式存在唯一。 1.1.3 用Matlab 作Lagrange 插值 Matlab 中没有现成的Lagrange 插值函数,必须编写一个M 文件实现Lagrange 插值。 设n 个节点数据以数组0,0x y 输入,m 个插值点以数组x 输入,输出数组y 为

插值与多项式逼近的数组计算方法实验

插值与多项式逼近的数组计算方法实验【摘要】计算机软件中经常要用到库函数,如) (x cos,x e,它们 sin,) (x 是用多项式逼近来计算的。虽然目前最先进的逼近方法是有理函数(即多项式的商),但多项式逼近理论更适于作为数值分析的入门课程。在已知数据具有高精度的情况下,通常用组合多项式来构造过给定数据点的多项式。构造组合多项式的方法有许多种,如线性方程求解、拉格朗日系数多项式以及构造牛顿多项式的方分和系数表。 关键字泰勒级数、拉格朗日插值法、牛顿插值法、帕德逼近 一、实验目的 1.通过具体实验,掌握泰勒级数、拉格朗日插值法、牛顿插值法、帕德逼近的编程技巧。 2.比较各插值方法的优劣并掌握。 二、实验原理 1.泰勒级数 在数学中,泰勒级数(英语:Taylor series)用无限项连加式——级数来表示一个函数,这些相加的项由函数在某一点的导数求得。 如果在点x=x 具有任意阶导数,则幂级数 称为在点x 处的泰勒级数。 =0,得到的级数 在泰勒公式中,取x 称为麦克劳林级数。函数的麦克劳林级数是x的幂级数,那么这种展开

是唯一的,且必然与的麦克劳林级数一致。 2.拉格朗日插值法 如对实践中的某个物理量进行观测,在若干个不同的地方得到相应的观测值,拉格朗日插值法可以找到一个多项式,其恰好在各个观测的点取到观测到的值。这样的多项式称为拉格朗日(插值)多项式。数学上来说,拉格朗日插值法可以给出一个恰好穿过二维平面上若干个已知点的多项式函数。 在平面上有(x 1,y 1)(x 2,y 2)...(x n ,y n )共n 个点,现作一条函数f (x )使其图像经过这n 个点。 作n 个多项式p i (x),i=1,2,3...,n,使得 最后可得 3.牛顿插值法 插值法利用函数f (x)在某区间中若干点的函数值,作出适当的特定函数,在这些点上取已知值,在区间的其他点上用这特定函数的值作为函数f (x)的近似值。如果这特定函数是多项式,就称它为插值多项式。利用插值基函数很容易得到拉格朗日插值多项式,公式结构紧凑,在理论分析中甚为方便,但当插值节点增减时全部插值基函数均要随之变化,整个公式也将发生变化, 这在实际计算中是很不方便的,为了克服这一缺点,提出了牛顿插值。 牛顿插值通过求各阶差商,递推得到的一个公式: 10121()()()()()()N N N N P x P x a x x x x x x x x --=+----L 牛顿插值与拉格朗日插值具有唯一性。 4.帕德逼近 它不仅与逼近论中其他许多方法有着密切的关系,而且在实际问题特别是许多物理问题中有着广泛的应用。设是在原点某邻域内收敛的、具有复系数的麦克劳林级数。欲确定一个有理函数,式中,使得前次方的系数为0,即使得 此处约定qk =0(k>n )。虽然所求得的Pm(z)和Qn(z)不惟一,但是比式却总是惟一的。有理函数称为F(z)的(m,n)级帕德逼近,记为(m/n)。由(m/n)所形成的阵列称为帕德表。

插值法-第二次程序题.

插值法 题目1:对Runge 函数2 2511 )(x x R += 在区间[-1,1]作下列插值逼近,并和R(x)的图像进行比较,并对结果进行分析。 (1)用等距节点,200,1.0,-1≤≤=+=i h ih x i 绘出它的20次Newton 插值 多项式的图像。 (2)用节点) 20,,2,1,0(,)42 1 2cos( ???=+=i i x i π,绘出它的20次Lagrange 插值多项式的图像。 (3)用等距节点,200,1.0,-1≤≤=+=i h ih x i 绘出它的分段线性插值函数 的图像。 (4)用等距节点,200,1.0,-1≤≤=+=i h ih x i 绘出它的三次自然样条插值 函数的图像。 程序及分析: (1)用等距节点,200,1.0,-1≤≤=+=i h ih x i 绘出它的20次Newton 插值 多项式的图像。 Matlab 程序如下: %计算均差 x=[-1:0.1:1]; n=length(x); syms z for i=1:n y(i)=1/(1+25*x(i)*x(i)); end N=zeros(n,n); N(:,1)=y'; for j=2:n for k=j:n N(k,j)=(N(k,j-1)-N(k-1,j-1))/(x(k)-x(k-j+1)); end end for t=1:n c(t)=N(t,t) end

%构造插值多项式 f=N(1,1); for k=2:n a=1; for r=1:(k-1) a=a*(z-x(r)); end f=f+N(k,k)*a; end %作图 a=[-1:0.001:1]; n=length(a); for i=1:n b(i)=1/(1+25*a(i)*a(i)); end fx=subs(f,z,a); subplot(2,1,1); plot(a,b,'k',a,fx,'r'); c=[-0.6:0.001:0.6]; n=length(c); for i=1:n d(i)=1/(1+25*c(i)*c(i)); end fx=subs(f,z,c); subplot(2,1,2); plot(c,d,'k',c,fx,'r'); 结果与分析: 由下图可以看出,在区间[-0.6,0.6]上,插值多项式可以很好的逼近被插值函数。而在边界附近,插值多项式与被插值函数的差别很大。即出现了Runge 现象。 主要原因是被插值函数的任意阶导数不能达到一致有界。其插值余项 )()! 1()()(1)1(x n f x R n n n +++= ?ξ不趋近零。插值多项式不能收敛到被插值函数。

第二章 插值法

第二章 插值方法/* Interpolation */ 2.1 引言 函数逼近 问题的引出:现实应用中常用函数()y f x =表示某种内在规律的数量关系,但是情况往往是: 1)()y f x =在某个区间[a,b]存在,有时候是连续的,但是只能通过实验或观测得到一系列点i x 的函数值i y (得到函数表),而无法得到()f x 的表达式 2)函数表达式已知,但计算复杂(如()sin y x =,()lg y x =等)使用不方便,通常也使用函数表。如:三角函数表,对数表,平方根表,立方根表等。 问题:有时需要求不在函数表上的函数值怎么办? 解决方法:根据所给的 ()y f x =的函数表,构造一个简单的函数() P x 近似替 代()f x (存在误差!),称为函数逼近。 称()P x 为逼近函数,()f x 为被逼近函数。 ()P x 通常选择一类比较简单的函数,如代数多项式或分段代数多项式。 函数逼近的方法有很多,例如Taylor 级数,Fourier 级数,有限元方法、边界元方法,小波分析等,大学科叫逼近论。 本课程讨论连续函数的逼近,主要介绍插值法。 插值 (interpolation ) 已知()[],,y f x x a b =∈的函数表

求:()P x 使 ()i i y P x = 0,1,2,,i n = —— 插值问题 称()P x 为()f x 的插值函数;()f x 为被插值函数;0 1 n x x x 为插值结点; [],a b 为插值区间;求插值函数()P x 的方法称为插值法。 当()P x 为多项式时,相应的插值法为多项式插值;()P x 为分段的多项式,称 为分段插值;()P x 为三角多项式,称为三角插值。 插值法的几何示意图,P14图2.1 多项式插值是数值分析的基本工具,常用来计算被插函数的近似函数值,零、极点,导数、积分(第四章 数值积分和数值微分),解微分方程(第五章)、积分方程等。 2.2 拉格朗日插值 2.2.1 插值多项式的存在唯一性 问题:用不同的多项式插值方法得到的插值多项式的形式有可能不同,它们是否等价?(可以转化为相同的标准式?) 答案是肯定的! 两点确定一条直线( 一次多项式 ) 三点确定一个抛物线( 二次多项式 ) 是否n+1点确定一个n 次多项式? 给定n +1个互异的插值点0 1 n x x x ,求符合插值条件() i i y P x =的次数不 超过n 的插值多项式 ()2 012n n P x a a x a x a x =++++ ——(标准式)

第4章_插值法(数值分析)

4.1 设(0.4)0.38942,(0.5)0.47943,(0.6)0.56464f f f ===,使用一次、二次 Lagrange 插值多项式计算(0.5789)f 的近似值. 解:(0.4)0.38942,(0.5)0.47943,(0.6)0.56464f f f === 一次Lagrange 插值多项式公式 05338.08521.06 .05.06 .0)5.0(5.06.05.0) 6.0()(1+=--+--=x x f x f x P 故 546669.005338.057891.08521.0)57891 .0(1≈+?=P . 二次Lagrange 插值多项式公式: ) 5.04.0)( 6.04.0() 5.0)( 6.0() 4.0()4.0 5.0)( 6.05.0()4.0)(6.0()5.0()4.06.0)(5.06.0()4.0)(5.0() 6.0()(2----+----+----=x x f x x f x x f x P 即 01862.01161.124.0)(22-+-=x x x P 故 5470686 .001862.057891.01161.157891.024.0)57891.0(2 2=-?+?-=P 4.2 设01(),(), ,()n l x l x l x 是以为节点的01,,,n x x x 的n 次Lagrange 插值基函数,试 证明; (),0,1, ,n j j k k k x l x x j n ===∑ 证:假设在对应于01,,,n x x x 节点的函数值为,...)1,0(=i y i ,则应有: ),...,1,0()()(1 n i x l y x P n i i i ==∑= 取n j x y j i i ,...,1,0,==,由插值条件有: j i i j x y x P ==)( 故0 ()n j j i i i i x x l x ==∑,即0 ()n j j k k i x x l x ==∑

相关文档