教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 范文大全 > 资料大全 >

插值与曲线拟合实验报告

来源:网络收集 时间:2026-05-15
导读: 通过实验介绍插值方法中常见的拉格朗日插值,线性分段插值和牛顿前插公式 数值计算方法插值与拟合实验报告 摘要:通过实验介绍插值方法中常见的拉格朗日插值,线性分段插值和牛顿前插公式,分析计算各种方法的插值余项。在曲线拟合方面使用两种不同类型的曲线

通过实验介绍插值方法中常见的拉格朗日插值,线性分段插值和牛顿前插公式

数值计算方法插值与拟合实验报告

摘要:通过实验介绍插值方法中常见的拉格朗日插值,线性分段插值和牛顿前插公式,分析计算各种方法的插值余项。在曲线拟合方面使用两种不同类型的曲线来拟合同一组数据,并计算残差向量范数,比较不同曲线拟合的效果,在此例上给出优劣的判断。

关键词:拉格朗日插值;线性分段插值;牛顿前插公式;曲线拟合

引言

在工程和科学计算中经常碰到只知道离散的数据测量点而需要匹配其变量之间的数学函数表达式的情况,这就需要插值和拟合的数值方法来解决这些问题。插值法是在离散数据的基础上补插连续函数,使得这条连续曲线通过全部给定的离散数据点,也是离散函数逼近的重要方法,利用它可通过函数在有限点处的取值状况,估算出函数在其他点处的近似值。曲线拟合则是用连续曲线近似地刻画或比拟平面上离散点所表示的坐标之间的函数关系,在各个方面也有着愈加广泛的应用。

1 算法介绍

1.1 拉格朗日插值法 1.1.1 算法理论

对某个多项式函数,已知有给定的k+1个取值点:

(x0,y0),...,(xk,yk)

其中xi对应着自变量的位置,而yi对应着函数在这个位置的取值。假设任意两个不同的xj都互不相同,那么应用拉格朗日插值公式所得到的拉格朗日插值多项式为:

L(x): yili(x)

j 0

k

其中每个lj(x)为拉格朗日基本多项式(或称插值基函数),其表达式为:

lj(x):

i 0,i j

k

x xi(x x0)(x xj 1)(x xj 1)(x xk)

......

xj xi(xj x0)(xj xj 1)(xj xj 1)(xj xk)

通过实验介绍插值方法中常见的拉格朗日插值,线性分段插值和牛顿前插公式

拉格朗日基本多项式lj(x)的特点是在xj上取值为1,在其它的点xi,i

j上取值为0。对于给定

的k 1个点:(x0,y0),...,(xk,yk),拉格朗日插值法的思路是找到一个在一点xj取值为1,而在其他点取值都是0的多项式lj(x)。这样,多项式都是0。而多项式

yili(x)在点xj取值为yj,而在其他点取值

L(x): yili(x)

j 0

k

就可以满足

L(x): yili(x) 0 0 yi ... 0 yi

j 0

k

在其它点取值为0的多项式容易找到,例如:

(x x0)...(x xj 1)(x xj 1)...(x xk)

(xj它在点xj取值为:

x0)...(xj xj 1)(xj xj 1)...(xj xk)。由于已经假定xi两

两互不相同,因此上面的取值不等于0。于是,将多项式除以这个取值,就得到一个满足“在xj取值为1,而在其他点取值都是0的多项式”:

lj(x):

i 0,i j

k

x xi(x x0)(x xj 1)(x xj 1)(x xk)

......

xj xi(xj x0)(xj xj 1)(xj xj 1)(xj xk)

这就

是拉格朗日基本多项式。

拉格朗日插值法的公式结构整齐紧凑,在理论分析中十分方便,然而在计算中,当插值点增加或减少一个时,所对应的基本多项式就需要全部重新计算,于是整个公式都会变化,非常繁琐。此外,当插值点比较多的时候,拉格朗日插值多项式的次数可能会很高,因此具有数值不稳定的特点,也就是说尽管在已知的几个点取到给定的数值,但在附近却会和“实际上”的值之间有很大的偏差。这类现象也被称为龙格现象,解决的办法是分段用较低次数的插值多项式。 1.2.2 算法描述

对于已给定的点(x0,y0),...,(xk,yk)和待估计的点的横坐标x,如上述理论,将其值代入

lj(x):

i 0,i j

k

x xi(x x0)(x xj 1)(x xj 1)(x xk)

......

xj xi(xj x0)(xj xj 1)(xj xj 1)(xj xk)

计算出插值基函数的值,然后根据公式:

通过实验介绍插值方法中常见的拉格朗日插值,线性分段插值和牛顿前插公式

L(x): yili(x)

j 0

k

计算出纵坐标的估计值,由此完成对该点的插值过程,其中k为该点插值的阶数。

1.2 线性分段插值 1.2.1 算法理论

首先介绍线型插值,假设我们已知坐标(x0,置 x 在直线上的值。根据图中所示,我们得到

y0)与

(x1,y1)要得到 (x0,y1)区间内某一位

由于 x 值已知,所以可以从公式得到 y 的值

已知y求x的过程与以上过程相同,只是x与y要进行交换。

线性插值经常用于已知函数 f在两点的值要近似获得其它点数值的方法,这种近似方法的误差定义为:

RT f(x) p(x)

其中 p 表示上面定义的线性插值多项式

f(x1) f(x0)

p(x) f(x0) (x x0)

x1 x0

根据罗尔定理,我们可以证明:如果 f 有二阶连续导数,那么误差范围是

(x1 x0)2

|RT| max|f"(x)|x0 x x1

8

正如所看到的,函数上两点之间的近似随着所近似的函数的二阶导数的增大而逐渐变差。从直观上来看也是这样:函数的曲率越大,简单线性插值近似的误差也越大。

而分段线型插值就是把需要插值的区间依已给定的点 (x0,y0),...,(xk,yk)分为k-1段,每段利用其端点进行线型插值。

通过实验介绍插值方法中常见的拉格朗日插值,线性分段插值和牛顿前插公式

1.2.2 算法描述

利用已给定的点(x0,y0),...,(xk,yk)对插值区间分为k 1段,将每段的端点(xi,yi)与

(xi 1,yi 1)作为数据点利用公式

p(x) f(x0)

在所构成的区间进行线性插值。

1.3牛顿插值法 1.3.1 算法理论

f(x1) f(x0)

(x x0)

x1 x0

注意在下面的讲述中着重介绍差商的概念,设:

Nn(x) c0 c1(x x0) c2(x x0)(x x1) ... cn(x x0)(x x1)...(x xn 1)

问题是如何根据插值条件Nn(xi) 由Nn(x0)

yi,i 0,1,...,n来计算待定系数c0,c1,http://

y0 f(x0)知,c0 y0 f(x0)。由Nn(x1) y1 f(x1)

c0 c1(x1 x0) y1

因而,

c1

其中,

y1 y0f(x1) f(x0)

f[x0,x1]

x1 x0x1 x0

f[x0,x1] 称为函数f(x)在x0,x1点的一阶差商。

y2 f(x2)知:

由Nn(x2)

c0 c1(x1 x0) c2(x2 x0)(x2 x1) y2

因而

y2 y1y1 y0

x2 x1x1 x0f[x1,x2] f[x0,x1]c2 f[x0,x1,x2]

x2 x0x2 x1

其中,f[x0,x1,x2] 称为函数一般地,如果已知一阶差商

f(x)在x0,x1,x2点的二阶差商。实际上,它是一阶差商的差商。

f[xi 1,xi],f[xi,xi 1],那么就可以计算二阶差商

通过实验介绍插值方法中常见的拉格朗日插值,线性分段插值和牛顿前插公式

f[xi 1,xi,xi 1]

类似于上述过程不断地推导下去,可得

f[xi,xi 1] f[xi 1,xi]

xi 1 xi 1

f[x1,x2,...xn] f[x0,x1,...,xn 1]cn f[x0,x1,...,xn]

xn x0

其中,

f[x0,x1,...,xn]称为函数f (x)在相应点处的n 阶差商。这些结果说明,要保证上面构造多

项式的方法具有期望的优点,就必须要有一个好的计算系数x0,x1,...,xn的方法。

按上述方式构造插值多项式的方法叫做牛顿插值法。根据插值多项式的惟一性知,其截断误差与拉格朗日插值法相同,即:

1

Rn(x) f(n 1)( ) n 1(x)

(n 1)!

n 1 (x x0)(x x1)(x x2)...(x xn)

但也可以表示成差商形式。这是因为以x0,x1,...,xn 1为节点 …… 此处隐藏:9303字,全部文档内容请下载后查看。喜欢就下载吧 ……

插值与曲线拟合实验报告.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/fanwen/2190891.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)