数值分析分段线性插值样条插值Runge函数Newton-Lagrange-Chebyshev插值多项式Runge现象matlab源程序代码

数值分析分段线性插值样条插值Runge函数Newton-Lagrange-Chebyshev插值多项式Runge现象matlab源程序代码
数值分析分段线性插值样条插值Runge函数Newton-Lagrange-Chebyshev插值多项式Runge现象matlab源程序代码

题目1:对R unge 函数R(x ) =

1

在区间[-1,1]作下列插值逼近,并和

x 2

R(x)的图像进行比较,并对结果进行分析。

= -1 + ih,h= 0.1,0 ≤ i≤ 20 绘出它的20 次Newton 插值(1)用等距节点x i

多项式的图像。

分别画出在[-1,1]区间,[-0.7,0.7]区间和[-0.5,0.5]区间上的 Newton 插值多项式和R unge 函数的图像

从图中可以看出: 1)在[-0.5,0.5]区间 N ewton 插值多项式和 R unge 函数的图像偏差较小,这说 明 Newton 插值多项式在此区间上可以较好的逼近 R unge 函数; 2)在边界(自变量 x =-1 和 x =1)附近,Newton 插值多项式和 R unge 函数的图像 偏差很大,Newton 插值多项式出现了剧烈的震荡。(Runge 现象) (2)用节点 x = cos(2i + 1 π)(, i = 0,1,2,? ? ? ,20),绘出它的 20 次 Lagrange

i 42 插值多项式的图像。

画出在[-1,1]区间上的 L agrange 插值多项式和 R unge 函数的图像

从图中可以看出:

使用 C hebyshev 多项式零点构造的 L agrange 插值多项式和 R unge 函数的图 像偏差较小,没有出现 R unge 现象。

(3)用等距节点 x i 的图像。

= -1 + ih ,h = 0.1,0 ≤ i ≤ 20 绘出它的分段线性插值函数

画出在[-1,1]区间上分段线性插值函数和 R unge 函数的图像

从图中可以看出:

使用分段线性插值函数和 Runge 函数的图像偏差较小,也没有出现 Runge 现象,只在自变量 x =0 处有稍许偏差。 (4)用等距节点 x i 函数的图像。

= -1 + ih ,h = 0.1,0 ≤ i ≤ 20 绘出它的三次自然样条插值

画出在[-1,1]区间上三次自然样条插值函数和 R unge 函数的图像

从图中可以看出:

使用三次自然样条插值函数和 Runge 函数的图像偏差较小,也没有出现 Runge 现象。

题目2:对函数:

在区间[-1,1]作下列插值逼近,并和被插值函数的图像进行比较,并对结果进行分析。

= -1 + ih,h= 0.1,0 ≤ i≤ 20 绘出它的20 次N ewton 插值多(1)用等距节点x i

项式的图像。

分别画出在[-1,1]区间,[-0.8,0.8]区间和[-0.6,0.6]区间上的 Newton 插值多项

式和R unge 函数的图像

从图中可以看出:

Newton 插值多项式和 Runge 函数的图像在[-1,1]区间上整体偏差都比较 大,尤其是在边界(自变量 x=-1 和 x=1)附近,Newton 插值多项式出现了剧烈 的震荡。(Runge 现象) (2)用节点 x = cos(2i + 1 π)(, i = 0,1,2,? ? ? ,20),绘出它的 20 次 L agrange 插

i 42 值多项式的图像。

画出在[-1,1]区间上的 L agrange 插值多项式和 R unge 函数的图像

从图中可以看出:

1)使用 C hebyshev 多项式零点构造的 L agrange 插值多项式和 R unge 函数的 图像偏差较小,没有出现 R unge 现象。

2)使用 C hebyshev 多项式零点构造的 L agrange 插值多项式相比使用等距节 点构造的 Newton 插值多项式要好得多,但在自变量 x=0 附近,Lagrange 插值多 项式有稍许偏差。

(3)用等距节点 x i 数的图像。

= -1 + ih ,h = 0.1,0 ≤ i ≤ 20 绘出它的分段线性插值函

画出在[-1,1]区间上分段线性插值函数和 R unge 函数的图像

从图中可以看出:

使用分段线性插值函数和 Runge 函数的图像偏差较小,也没有出现 Runge 现象,只在自变量 x =0 附近处有稍许偏差。 (4)用等距节点 x i 函数的图像。

= -1 + ih ,h = 0.1,0 ≤ i ≤ 20 绘出它的三次自然样条插值

画出在[-1,1]区间上三次自然样条插值函数和 R unge 函数的图像

从图中可以看出:

使用三次自然样条插值函数和 Runge 函数的图像偏差较小,也没有出现 Runge 现象,只在自变量 x =0 附近有稍许偏差。

分析与小结:

1)使用等距节点的高次插值多项式会出现 Runge 现象,插值函数和被插值函数的偏差较大,精度不高。

2)使用C hebyshev 多项式零点作为插值节点构造的L agrange 插值多项式,将会消除R unge 现象,可以提高精度。

3)使用分段线性插值函数可以有效的提高精度,但是插值函数不够光滑,只能保证连续性。

4)使用三次自然样条插值函数具有较高的精度,同时插值函数也有一定的光滑性,至少是C2 的。

5)对于被插值函数有间断的情况,插值函数在间断点附近仍有稍许偏差,例如题目2中的被插值函数在自变量x=0 处有间断。

Matlab的源程序代码:

题目1:

Lagrange.m

%Lagrange插值多项式

for i=1:21

x(i)=cos((2*(i-1)+1)*pi/42);

end

n=length(x);

for i=1:n

y(i)=1/(1+25*x(i)*x(i));

end

%构造插值基函数

syms z;

temp=1;

for i=1:n

lx=1;

for j=1:n

if i~=j

temp=(z-x(j))/(x(i)-x(j));

lx=lx*temp;

end

end

l(i)=lx;

end

%插值多项式

L=0;

for i=1:n

分段线性插值法

《数值分析》实验报告 实验序号:实验五 实验名称: 分段线性插值法 1、 实验目的: 随着插值节点的增加,插值多项式的插值多项式的次数也增加,而对于高次的插值容易 带来剧烈的震荡,带来数值的不稳定(Runge 现象)。为了既要增加插值的节点,减小插值 的区间,以便更好的逼近插值函数,又要不增加插值多项式的次数以减少误差,可采用分段 线性插值。 2、 实验内容: 求一个函数?(x )用来近似函数f (x ),用分段线性插值的方法来求解近似函数?(x ) 并画出近似函数图像及原函数图像。 设在区间[a,b]上,给定n+1个插值节点b x x x x a n =<<<<=...210和相应的函数 值n y y y ,...,,10,求一个插值函数)(x ?,满足以下条件: (1) ),...,2,1,0()(n j y x j j ==?; (2) )(x ?在每一个小区间[1,+j j x x ]上是线性函数。 对于给定函数11-,2511)(2≤≤+= x x x f 。在区间[]11-,上画出f (x )和分段线性插值函数)(x ?的函数图像。 1. 分段线性插值的算法思想: 分段线性插值需要在每个插值节点上构造分段线性插值基函数)(x l j ,然后再 作它们的线性组合。分段线性插值基函数的特点是在对应的插值节点上函数值取 1,其它节点上函数值取0。插值基函数如下:

?????≤≤--=其它 ,0,)(101010x x x x x x x x l ???????????≤<--≤≤--=+++---其它 ,0,,)(11 1111j j j j j j j j j j j x x x x x x x x x x x x x x x l ?? ???≤≤--=---其它 ,0,)(111n n n n n n x x x x x x x x l 设在节点a ≤x0

数值分析实验六(分段三次Hermite插值)

《数值分析》实验报告 实验编号:实验六 课题名称:分段三次Hermite插值 一、算法介绍 给定的函数为f(x)=1/(25*x*x+1),将给定区间分成10分,得到11个节点:x[0],x[1],...,x[10],构造插值函数的基函数。当x在(x[0],x[1])区间上时,H[0] = (x-x[0])*[((x-x[1])/(x[0]-x[1]))^2]。其余的区间为H[0]=0。h[0]= [1+2*(x-x[0])/(x[1]-x[0])]*[((x-x[1])/(x[0]-x[1]))^2]。当x在[x[i-1],x[i]] (i=1,2,3, (9) 区间上时,H[i]=(x-x[i])*[((x-x[i-1])/(x[i]-x[i-1]))^2],h[i]=[1+2*(x-x[i])/(x[i-1]-x[i])]*[((x-x[i-1])/(x[i]-x[i-1]))^2)。当x在(x[i],x[i+1]](i=1,2,3,…,10)区间上其余的区间为H[i]=(x-x[i])[((x-x[i+1])/(x[i]-x[i+1]))^2],h[i]=[1+2*(x-x[i])/(x[i+1]-x[i])]*[((x-x[i+1 ])/(x[i]-x[i+1]))^2]。其余区间上均为H[i]=0,h[i]=0(i=1,2,…,10)。当x在(x[9],x[10])区间上时,H[10] = (x-x[9])(((x-x[10])/(x[9]-x[10]))^2).其余的区间为H[10]=0.h[10]= (1+2*((x-x[9])/(x[10]-x[9])))(((x-x[10])/(x[9]-x[10]))^2).其余区间h[10]=0。构造函数H(x) =∑(y[i]*h[i]+y'[i]*H[i],(i=0,1,…,10)。 二、程序代码 // testV iew.cpp : implementation of the CTestV iew class // #include "stdafx.h" #include "test.h" #include "testDoc.h" #include "testView.h" #ifdef _DEBUG #define new DEBUG_NEW #undef THIS_FILE static char THIS_FILE[] = __FILE__; #endif ///////////////////////////////////////////////////////////////////////////// // CTestV iew IMPLEMENT_DYNCREA TE(CTestView, CView) BEGIN_MESSAGE_MAP(CTestView, CView) //{{AFX_MSG_MAP(CTestView) // NOTE - the ClassWizard will add and remove mapping macros here. // DO NOT EDIT what you see in these blocks of generated code! //}}AFX_MSG_MAP // Standard printing commands ON_COMMAND(ID_FILE_PRINT, CView::OnFilePrint) ON_COMMAND(ID_FILE_PRINT_DIRECT, CV iew::OnFilePrint) ON_COMMAND(ID_FILE_PRINT_PREVIEW, CView::OnFilePrintPreview) END_MESSAGE_MAP() ///////////////////////////////////////////////////////////////////////////// // CTestV iew construction/destruction CTestView::CTestV iew() { // TODO: add construction code here }

matlab实现数值分析报告插值及积分

Matlab实现数值分析插值及积分 摘要: 数值分析(numerical analysis)是研究分析用计算机求解数学计算问题的数值计算方法及其理论的学科,是数学的一个分支,它以数字计算机求解数学问题的理论和方法为研究对象。在实际生产实践中,常常将实际问题转化为数学模型来解决,这个过程就是数学建模。学习数值分析这门课程可以让我们学到很多的数学建模方法。 分别运用matlab数学软件编程来解决插值问题和数值积分问题。题目中的要求是计算差值和积分,对于问题一,可以分别利用朗格朗日插值公式,牛顿插值公式,埃特金逐次线性插值公式来进行编程求解,具体matlab代码见正文。编程求解出来的结果为:=+。 其中Aitken插值计算的结果图如下: 对于问题二,可以分别利用复化梯形公式,复化的辛卜生公式,复化的柯特斯公式编写程序来进行求解,具体matlab代码见正文。编程求解出来的结果为: 0.6932 其中复化梯形公式计算的结果图如下:

问题重述 问题一:已知列表函数 表格 1 分别用拉格朗日,牛顿,埃特金插值方法计算。 问题二:用复化的梯形公式,复化的辛卜生公式,复化的柯特斯公式计算积分,使精度小于5。 问题解决 问题一:插值方法 对于问题一,用三种差值方法:拉格朗日,牛顿,埃特金差值方法来解决。 一、拉格朗日插值法: 拉格朗日插值多项式如下: 首先构造1+n 个插值节点n x x x ,,,10 上的n 插值基函数,对任一点i x 所对应的插值基函数 )(x l i ,由于在所有),,1,1,,1,0(n i i j x j +-=取零值,因此)(x l i 有因子 )())(()(110n i i x x x x x x x x ----+- 。又因)(x l i 是一个次数不超过n 的多项式,所以只 可能相差一个常数因子,固)(x l i 可表示成: )())(()()(110n i i i x x x x x x x x A x l ----=+- 利用1)(=i i x l 得:

分段线性插值法

《数值分析》实验报告 实验序号:实验五 实验名称: 分段线性插值法 1、 实验目的: 随着插值节点的增加,插值多项式的插值多项式的次数也增加,而对于高次的插值容易带来剧烈的震荡,带来数值的不稳定(Runge 现象)。为了既要增加插值的节点,减小插值的区间,以便更好的逼近插值函数,又要不增加插值多项式的次数以减少误差,可采用分段线性插值。 2、 实验内容: 求一个函数?(x )用来近似函数f (x ),用分段线性插值的方法来求解近似函数?(x )并画出近似函数图像及原函数图像。 设在区间[a,b]上,给定n+1个插值节点b x x x x a n =<<<<=...210和相应的函数值n y y y ,...,,10,求一个插值函数)(x ?,满足以下条件: (1) ),...,2,1,0()(n j y x j j ==?; (2) )(x ?在每一个小区间[1,+j j x x ]上是线性函数。 对于给定函数11-,2511)(2≤≤+= x x x f 。在区间[]11-,上画出f (x )和分段线性插值函数)(x ?的函数图像。 1. 分段线性插值的算法思想: 分段线性插值需要在每个插值节点上构造分段线性插值基函数)(x l j ,然后再 作它们的线性组合。分段线性插值基函数的特点是在对应的插值节点上函数值取 1,其它节点上函数值取0。插值基函数如下: 设在节点a ≤x0

插值法习题及解答

一、填空题: 1. 满足()a a f x x =,()b b f x x =,()c c f x x =的拉格朗日插值余项为 。 答:()() ()()()3! a b c f R x x x x x x x ξ'''=--- 2.已知函数()f x 的函数值()()()()()0,2,3,5,6f f f f f ,以及均差如下 ()()()()()00,0,24,0,2,35,0,2,3,51,0,2,3,5,60f f f f f ===== 那么由这些数据构造的牛顿插值多项式的最高次幂的系数是 答: 1 二、选择题 1. 通过点()()0011,,,x y x y 的拉格朗日插值基函数()()01,l x l x 满足( ) A .()00l x =0,()110l x = B . ()00l x =0,()111l x = C .()00l x =1,()110l x = D . ()00l x =1,()111l x = 答:D 2.. 已知等距节点的插值型求积公式 ()()35 2 k k k f x dx A f x =≈∑?,那么3 k k A ==∑( ) A .1 B. 2 C. 3 D. 4 答:C 3.过点(x 0,y 0), (x 1,y 1),…,(x 5,y 5)的插值多项式P(x)是( )次的多项式。 (A). 6 (B).5 (C).4 (D).3. 答:B 三、证明题 1. 设 f (x) = (x-1) (x-2) .证明对任意的x 有: f [1, 2, x)]= 1 证明:f [1, 2] = [f (1) – f (2)]/ (1 – 2) = [0 – 0]/ (-1) = 0, 对任意的x 有 F[2, x] = [f (2) – f (x)]/ (2 – x) = [0 – (x-1) (x-2)]/ (2 – x) = (x-1), 所以 f [1, 2, x] = [f (1, 2) - f (2, x)]/ (1 – x) = [0 - (x-1)]/ (1 – x) = 1 2.设 在 上具有二阶连续导数,且 ,求证:

几种常用的插值方法

几种常用的插值方法 数学系 信息与计算科学1班 李平 指导老师:唐振先 摘要:插值在诸如机械加工等工程技术和数据处理等科学研究中有许多直接的应用,在很多领域都要用插值的办法找出表格和中间值,插值还是数值积分微分方程数值解等数值计算的基础。本文归纳了几种常用的插值方法,并简单分析了其各自的优缺点。 关键词:任意阶多项式插值,分段多项式插值。 引言:所谓插值,通俗地说就是在若干以知的函数值之间插入一些未知函数值,而插值函数的类型最简单的选取是代数多项式。用多项式建立插值函数的方法主要用两种:一种是任意阶的插值多项式,它主要有三种基本的插值公式:单项式,拉格朗日和牛顿插值;另一种是分段多项式插值,它有Hermite 和spine 插值和分段线性插值。 一.任意阶多项式插值: 1.用单项式基本插值公式进行多项式插值: 多项式插值是求通过几个已知数据点的那个n-1阶多项式,即P n-1(X)=A 1+A 2X+…A n X n-1,它是一个单项式基本函数X 0,X 1…X n-1的集合来定义多项式,由已知n 个点(X,Y )构成的集合,可以使多项式通过没数据点,并为n 个未知系数Ai 写出n 个方程,这n 个方程组成的方程组的系数矩阵为Vandermonde 矩阵。 虽然这个过程直观易懂,但它都不是建立插值多项式最好的办法,因为Vandermonde 方程组有可能是病态的,这样会导致单项式系数不确定。另外,单项式中的各项可能在大小上有很大的差异,这就导致了多项式计算中的舍入误差。 2.拉格朗日基本插值公式进行插值: 先构造一组插值函数L i (x ) =011011()()()() ()()()() i i n i i i i i i n x x x x x x x x x x x x x x x x -+-+--------L L L L ,其中i=0,… n.容易看出n 次多项式L i (x )满足L i (x )=1,(i=j );L i (x )=0,(i ≠j ),其中

数值分析常用的插值方法

数值分析报告 班级: 专业: 流水号: 学号: 姓名:

常用的插值方法 序言 在离散数据的基础上补插连续函数,使得这条连续曲线通过全部给定的离散数据点。插值是离散函数逼近的重要方法,利用它可通过函数在有限个点处的取值状况,估算出函数在其他点处的近似值。 早在6世纪,中国的刘焯已将等距二次插值用于天文计算。17世纪之后,牛顿、拉格朗日分别讨论了等距和非等距的一般插值公式。在近代,插值法仍然是数据处理和编制函数表的常用工具,又是数值积分、数值微分、非线性方程求根和微分方程数值解法的重要基础,许多求解计算公式都是以插值为基础导出的。 插值问题的提法是:假定区间[a,b〕上的实值函数f(x)在该区间上n+1个互不相同点x0,x1……x n处的值是f(x0),……f(x n),要求估算f(x)在[a,b〕中某点的值。其做法是:在事先选定的一个由简单函数构成的有n+1个参数C0, C1,……C n的函数类Φ(C0,C1,……C n)中求出满足条件P(x i)=f(x i)(i=0,1,……n)的函数P(x),并以P(x)作为f(x)的估值。此处f(x)称为被插值函数,x0,x1,……xn 称为插值结(节)点,Φ(C0,C1,……C n)称为插值函数类,上面等式称为插值条件,Φ(C0,……C n)中满足上式的函数称为插值函数,R(x)=f(x)-P(x)称为插值余项。

求解这类问题,它有很多种插值法,其中以拉格朗日(Lagrange)插值和牛顿(Newton)插值为代表的多项式插值最有特点,常用的插值还有Hermit 插值,分段插值和样条插值。 一.拉格朗日插值 1.问题提出: 已知函数()y f x =在n+1个点01,,,n x x x L 上的函数值01,,,n y y y L ,求任意一点 x '的函数值()f x '。 说明:函数()y f x =可能是未知的;也可能是已知的,但它比较复杂,很难计算其函数值()f x '。 2.解决方法: 构造一个n 次代数多项式函数()n P x 来替代未知(或复杂)函数()y f x =,则 用()n P x '作为函数值()f x '的近似值。 设()2012n n n P x a a x a x a x =++++L ,构造()n P x 即是确定n+1个多项式的系数 012,,,,n a a a a L 。 3.构造()n P x 的依据: 当多项式函数()n P x 也同时过已知的n+1个点时,我们可以认为多项式函数 ()n P x 逼近于原来的函数()f x 。根据这个条件,可以写出非齐次线性方程组: 20102000 20112111 2012n n n n n n n n n n a a x a x a x y a a x a x a x y a a x a x a x y ?++++=?++++=?? ? ?++++=?L L L L L 其系数矩阵的行列式D 为范德萌行列式: ()20 0021110 2111n n i j n i j n n n n x x x x x x D x x x x x ≥>≥= = -∏L L M M M M L

数值分析常用的插值方法

数值分析 报告 班级: 专业: 流水号: 学号: 姓名:

常用的插值方法 序言 在离散数据的基础上补插连续函数,使得这条连续曲线通过全部给定的离散数据点。插值是离散函数逼近的重要方法,利用它可通过函数在有限个点处的取值状况,估算出函数在其他点处的近似值。 早在6世纪,中国的刘焯已将等距二次插值用于天文计算。17世纪之后,牛顿、拉格朗日分别讨论了等距和非等距的一般插值公式。在近代,插值法仍然是数据处理和编制函数表的常用工具,又是数值积分、数值微分、非线性方程求根和微分方程数值解法的重要基础,许多求解计算公式都是以插值为基础导出的。 插值问题的提法是:假定区间[a,b〕上的实值函数f(x)在该区间上 n+1 个互不相同点x 0,x 1 (x) n 处的值是f(x ),……f(x n ),要求估算f(x)在[a,b〕 中某点的值。其做法是:在事先选定的一个由简单函数构成的有n+1个参数C , C 1,……C n 的函数类Φ(C ,C 1 ,……C n )中求出满足条件P(x i )=f(x i )(i=0,1,…… n)的函数P(x),并以P(x)作为f(x)的估值。此处f(x)称为被插值函数,x 0,x 1 ,……xn 称为插值结(节)点,Φ(C 0,C 1 ,……C n )称为插值函数类,上面等式称为插值条件, Φ(C 0,……C n )中满足上式的函数称为插值函数,R(x)= f(x)-P(x)称为 插值余项。

求解这类问题,它有很多种插值法,其中以拉格朗日(Lagrange)插值和牛顿(Newton)插值为代表的多项式插值最有特点,常用的插值还有Hermit 插值,分段插值和样条插值。 一.拉格朗日插值 1.问题提出: 已知函数()y f x =在n+1个点01,, ,n x x x 上的函数值01,, ,n y y y ,求任意一点 x '的函数值()f x '。 说明:函数()y f x =可能是未知的;也可能是已知的,但它比较复杂,很难计算其函数值()f x '。 2.解决方法: 构造一个n 次代数多项式函数()n P x 来替代未知(或复杂)函数()y f x =,则 用()n P x '作为函数值()f x '的近似值。 设()2012n n n P x a a x a x a x =+++ +,构造()n P x 即是确定n+1个多项式的系数 012,,,,n a a a a 。 3.构造()n P x 的依据: 当多项式函数()n P x 也同时过已知的n+1个点时,我们可以认为多项式函数 ()n P x 逼近于原来的函数()f x 。根据这个条件,可以写出非齐次线性方程组: 20102000 201121112012n n n n n n n n n n a a x a x a x y a a x a x a x y a a x a x a x y ?+++ +=?++++=??? ?+++ +=? 其系数矩阵的行列式D 为范德萌行列式: () 200021110 2 111n n i j n i j n n n n x x x x x x D x x x x x ≥>≥= = -∏

考察分段线性插值

《数值分析》课程设计 题目考察分段线性插值 学生黄立健丁威程发林 指导教师郭阁阳

天津工程师范学院 课程设计任务书 数理系数学班学生黄立健丁威程发林 课程设计课题: 考察分段线性插值 一、课程设计工作日自 2009 年 6 月 22 日至 2009 年 6 月 28 日 二、同组学生:黄立健丁威程发林 三、课程设计任务要求(包括课题来源、类型、目的和意义、基本要求、完成时 间、主要参考资料等): 【来源与意义】 本课题来源于教材第二章插值法,目的是从几何意义掌握分段线性插值的思想,加深对其的理解以及掌握用计算机与Matlab解决相关问题的能力。 【基本要求】 要求自编程序;掌握编程思想,学会一门编程语言;报告要有较强的理论分析;有较强说服力的数据表或图像;对结果进行分析;给出相应结论;鼓励创新; 【参考资料】 1.数值分析,李庆扬,王能超,易大义,2001,清华大学出版社(第四版)。 2.数值方法,关治,陆金甫,2006,清华大学出版社。 3.数值分析与实验学习指导,蔡大用,2001,清华大学出版社。 4.数值分析与实验,薛毅,2005,北京工业大学出版社。 指导教师签字:教研室主任签字:

天津工程师范学院 课程设计评审表系班学生

一、 问题提出: 题目:对2 1 ()1f x x = +在【-5,5】上进行分段线性插值,取不同节点个数n ,得到不同分段线性插值函数。(要求:自编程序,报告有数据表、图像、分析、结论。) 二、 理论基础: 通过学习构造插值公式的方法,以及分析了它们的余项知道了在实际应用插值函数作近似计算时,我们总是希望插值公式余项的绝对值小一些,即使得逼近的精度良好。从插值公式余项表达式()n R x 看,似乎提高插值多项式的次数便可达到 目的,但实际上会产生一称为Runge 现象的畸形现象,如下图所示: 从上图易知:Lagrange 插值多项式只在区间【-3.63,3.63】内收敛。因此我们通过构造分段线性插值的方法(在每个小区间上采用一次Lagrange 插值)来消除Runge 现象。 下面我们构造分段线性插值函数: 易知 在每个子区间 上是一次插值多项式 分段线性插值的余项: 其中: 1[,](0,1,)i i x x i n +=()x ?11111(),i i i i i i i i i i x x x x x y y x x x x x x x ?+++++--=+≤≤--2 ()()()8Mh f x x R x ?-=≤ max ''() a x b M f x ≤≤=

数值分析分段线性插值样条插值Runge函数Newton-Lagrange-Chebyshev插值多项

题目1:对Runge 函数R(x ) = 1 在区间[-1,1]作下列插值逼近,并和 1 + 25x 2 R(x)的图像进行比较,并对结果进行分析。 = -1 + ih,h= 0.1,0 ≤ i≤ 20 绘出它的20 次Newton 插值(1)用等距节点x i 多项式的图像。 分别画出在[-1,1]区间,[-0.7,0.7]区间和[-0.5,0.5]区间上的 Newton 插值多项式和Runge 函数的图像

从图中可以看出: 1)在[-0.5,0.5]区间 Newton 插值多项式和 Runge 函数的图像偏差较小,这说 明 Newton 插值多项式在此区间上可以较好的逼近 Runge 函数; 2)在边界(自变量 x=-1 和 x=1)附近,Newton 插值多项式和 Runge 函数的图像 偏差很大,Newton 插值多项式出现了剧烈的震荡。(Runge 现象) (2)用节点 x = cos(2i + 1 π)(, i = 0,1,2,? ? ? ,20),绘出它的 20 次 Lagrange i 42 插值多项式的图像。 画出在[-1,1]区间上的 Lagrange 插值多项式和 Runge 函数的图像 从图中可以看出: 使用 Chebyshev 多项式零点构造的 Lagrange 插值多项式和 Runge 函数的图 像偏差较小,没有出现 Runge 现象。

(3)用等距节点 x i 的图像。 = -1 + ih ,h = 0.1,0 ≤ i ≤ 20 绘出它的分段线性插值函数 画出在[-1,1]区间上分段线性插值函数和 Runge 函数的图像 从图中可以看出: 使用分段线性插值函数和 Runge 函数的图像偏差较小,也没有出现 Runge 现象,只在自变量 x=0 处有稍许偏差。 (4)用等距节点 x i 函数的图像。 = -1 + ih ,h = 0.1,0 ≤ i ≤ 20 绘出它的三次自然样条插值 画出在[-1,1]区间上三次自然样条插值函数和 Runge 函数的图像 从图中可以看出: 使用三次自然样条插值函数和 Runge 函数的图像偏差较小,也没有出现 Runge 现象。

分段线性插值

页眉内容 《数值分析》课程设计 分段线性插值 牛彦坡陈彬冯梦雨 指导教师 天津工程师范学院 课程设计任 考察分段线性插值 、课程设计工作日自2009 年6月22 日至2009 年6月28 日 三、课程设计任务要求(包括课题来源、类型、目的和意义、基本要求、参考资 料等): 来源与意义: 本课题来源于教材第二章插值法,目的是从几何意义掌握分段线性插值的思 想,加深对其的理解以及掌握用计算机与 Matlab 解决相关问题的能力。 基本要求: 要求自编程序;掌握编程思想,学会一门编程语言;报告要有较强的理论分 析;有较强说服力的数据表或图像;对结果进行分析;给出相应结论;鼓励创新; 参考资料: 1. 数值分析,李庆扬,王能超,易大义,2001,清华大学出版社(第四版)。 2. 数值方法,关治,陆金甫,2006,清华大学出版社。 3. 数值分析与实验学习指导,蔡大用,2001,清华大学出版社。 理学 数学0702 班 学生 牛彦坡 陈彬 冯梦雨 课程设计课题: 郭阁阳 、同组学生: 牛彦坡 陈彬 冯梦雨

4. 数值分析与实验,薛毅,2005,北京工业大学出版社。 教研室主任签字: 天津工程师范学院 程设计评审表 数学0702 班 学生牛彦坡陈彬冯梦雨 设计任务完成情况及指导教 师评语 答辩情况 教研室主任: 日期: 指导教师签字: 理学 评定成绩 成绩: 指导教师签字: 日期: 主任签字: 日期:

问题提出: 考察分段线性插值: 对f(x) 丄在(-5,5)上进行分段线性插值,取不同节点个数 n ,得到不同 1 x 分段线性插值函数。(要求:自编程序,报告有数据表、图像、分析、结论。) 虽然matlab 里有直接分段线形插值的函数,但为了对分段插值算法有更明确 的理解,编写该程序是有必要的 需要解决的问题: 1、由已知数据节点编写分段线形插值函数,从而能由所编函数得到非节点的函 数值。 2、比较用不同节点数所得插值函数与真实函数的误差,从而得出节点数与插值 效果的关系 二、理论基础 所谓分段线性插值就是通过插值点用折线段连接起来逼近 f (X )。设已知节 点a=x o vx i v …vx n =b 上的函数值f o , f i ,…,f n ,求一折线函数满足: l h (x)在每个小区间[x k ,X k+1 ]上是线性函数。 则称l h (x)为分段线性插值函数。 模型一:由定义可知l h (x)在每个小区间[X k ,X k+l ]上可表示为 x x k 1 x x k I h (x) = ------- f k ------------------ f k 1 (X k x X k1) X k X k 1 X k 1 X k 模型二:首先确定间隔序列k ,使得: 第二个量是局部变量S ,其定义为: 最后一个量是一阶均差 1o l h (x) C[a,b], 2。 I h (x) f k (k 0,1, n , 3。

数值分析实验插值与拟合

《数值分析》课程实验一:插值与拟合 一、实验目的 1. 理解插值的基本原理,掌握多项式插值的概念、存在唯一性; 2. 编写MA TLAB 程序实现Lagrange 插值和Newton 插值,验证Runge 现象; 3. 通过比较不同次数的多项式拟合效果,理解多项式拟合的基本原理; 4. 编写MA TLAB 程序实现最小二乘多项式曲线拟合。 二、实验内容 1. 用Lagrange 插值和Newton 插值找经过点(-3, -1), (0, 2), (3, -2), (6, 10)的三次插值公式,并编写MATLAB 程序绘制出三次插值公式的图形。 2. 设 ]5,5[,11 )(2 -∈+= x x x f 如果用等距节点x i = -5 + 10i /n (i = 0, 1, 2, …, n )上的Lagrange 插值多项式L n (x )去逼近它。不妨取n = 5和n = 10,编写MATLAB 程序绘制出L 5(x )和L 10(x )的图像。 (2) 编写MA TLAB 程序绘制出曲线拟合图。 三、实验步骤 1. (1) Lagrange 插值法:在线性空间P n 中找到满足条件: ?? ?≠===j i j i x l ij j i , 0, , 1)(δ 的一组基函数{}n i i x l 0)(=,l i (x )的表达式为 ∏ ≠==--= n i j j j i j i n i x x x x x l ,0),,1,0()( 有了基函数{}n i i x l 0)(=,n 次插值多项式就可表示为 ∑==n i i i n x l y x L 0 )()( (2) Newton 插值法:设x 0, x 1, …, x n 是一组互异的节点,y i = f (x i ) (i = 0, 1, 2, …, n ),f (x )在处的n 阶差商定义为

分段线性插值.doc

摘要 用函数来表示变量间的数量关系广泛应用于各学科领域,但是在实际问题中,往往是通过实验、观测以及计算等方法,得到的是函数在一些点上的函数值。如何通过这些离散数据找到函数的一个满足精度要求且便于使用的近似表达式,是经常遇到的问题。 对于这类问题我们解决的方法为插值法,而最常用也最简单的插值方法就是多项式插值。当然用插值法得到的近似表达式必须满足插值条件即假设给定了n+1个点的自变量的值以及函数值,近似函数必须要过这n+1 (x)通个点。多项式插值,从几何角度看,就是寻求n次代数曲线y=P n 过n+1个点作为f(x)的近似。 但是随着插值节点个数的增加,高次插值多项式的近似效果并不理想。根据大量实验得出,在进行高次多项式插值时,会出现龙格现象。龙格(Runge)现象即当n趋于无穷大时,x在某一邻域内,f(x)收敛,而在这个区域外f(x)发散。 因此,为了解决这样的一个问题,我们可以通过缩小插值区间的办法达到减小误差的目的,所以本实验将针对低次分段插值多项式来做具体的讨论和学习。 关键词:龙格现象分段差值

1、实验目的 1)通过对分段线性插值算法程序的编写,提高自己编写程序的能力 2)体会分段线性插值是如何消除龙格现象的。 3)用实验报告的形式展现,提高自己在写论文方面的能力 2、算法理论 设在节点处的函数值为,i=0,1,,n。为了提高近似程度,可以考虑用分段线性插值来逼近原函数,这时的插值函数为分段函数: 在区间上的线性函数为 误差为: 易见,是平面上以点为节点的折线,有如下的特点: 1.在上为次数不超过一次的多项式; 2.; 3.;

如果,由线性插值的误差公式得到 令,则有 关于整体误差: 可以按如下方式考虑,若记则对任一都有 于是,当时,说明分段线性插值收敛于。 3、数值算例 0.5 0.7 0.9 1.1 1.3 x i y 0.4579 0.644 0.783 0.891 0.964 i

分段线性插值法

《数值分析》实验报告 实验序号:实验五 实验名称: 分段线性插值法 1、 实验目的: 随着插值节点的增加,插值多项式的插值多项式的次数也增加,而对于高次的插值容易带来剧烈的震荡,带来数值的不稳定(Runge 现象)。为了既要增加插值的节点,减小插值的区间,以便更好的逼近插值函数,又要不增加插值多项式的次数以减少误差,可采用分段线性插值。 2、 实验内容: 求一个函数?(x )用来近似函数f (x ),用分段线性插值的方法来求解近似函数?(x )并画出近似函数图像及原函数图像。 设在区间[a,b]上,给定n+1个插值节点b x x x x a n =<<<<=...210与相应的函数值n y y y ,...,,10,求一个插值函数)(x ?,满足以下条件: (1) ),...,2,1,0()(n j y x j j ==?; (2) )(x ?在每一个小区间[1,+j j x x ]上就是线性函数。 对于给定函数11-,2511)(2≤≤+= x x x f 。在区间[]11-,上画出f (x )与分段线性插值函数)(x ?的函数图像。 1. 分段线性插值的算法思想: 分段线性插值需要在每个插值节点上构造分段线性插值基函数)(x l j ,然后再 作它们的线性组合。分段线性插值基函数的特点就是在对应的插值节点上函数值取 1,其它节点上函数值取0。插值基函数如下: ?????≤≤--=其它 ,0,)(101010x x x x x x x x l ???????????≤<--≤≤--=+++---其它 ,0,,)(11 1111j j j j j j j j j j j x x x x x x x x x x x x x x x l ?? ???≤≤--=---其它 ,0,)(111n n n n n n x x x x x x x x l

lagrange插值分段线性插值matlab代码

Lagrange插值: x=0:3; y=[-5,-6,-1,16]; n=length(x); syms q; for k=1:n fenmu=1; p=1; for j=1:n if(j~=k) fenmu=fenmu*(x(k)-x(j)) p=conv(p,poly(x(j))) end end c(k,:)=p*y(k)/fenmu end a=zeros(1,n); for i=1:n for j=1:n a(i)=a(i)+c(j,i) end end 输出结果: fenmu = -1 p = 1 -1 fenmu = 2 p = 1 -3 2 fenmu = -6 p = 1 -6 11 -6 c = 0.8333 -5.0000 9.1667 -5.0000 fenmu = 1 p = 1 0 fenmu =

-1 p = 1 - 2 0 fenmu = 2 p = 1 -5 6 0 c = 0.8333 -5.0000 9.1667 -5.0000 -3.0000 15.0000 -18.0000 0 fenmu = 2 p = 1 0 fenmu = 2 p = 1 -1 0 fenmu = -2 p = 1 -4 3 0 c = 0.8333 -5.0000 9.1667 -5.0000 -3.0000 15.0000 -18.0000 0 0.5000 -2.0000 1.5000 0 fenmu = 3 p = 1 0 fenmu = 6 p = 1 -1 0 fenmu = 6 p = 1 -3 2 0 c = 0.8333 -5.0000 9.1667 -5.0000 -3.0000 15.0000 -18.0000 0 0.5000 -2.0000 1.5000 0 2.6667 -8.0000 5.3333 0 a =

分段线性插值法

分段线性插值法

————————————————————————————————作者: ————————————————————————————————日期:

《数值分析》实验报告 实验序号:实验五 实验名称: 分段线性插值法 1、 实验目的: 随着插值节点的增加,插值多项式的插值多项式的次数也增加,而对于高次的插值容易带来剧烈的震荡,带来数值的不稳定(Rung e现象)。为了既要增加插值的节点,减小插值的区间,以便更好的逼近插值函数,又要不增加插值多项式的次数以减少误差,可采用分段线性插值。 2、 实验内容: 求一个函数?(x )用来近似函数f (x),用分段线性插值的方法来求解近似函数?(x )并画出近似函数图像及原函数图像。 设在区间[a,b]上,给定n +1个插值节点b x x x x a n =<<<<=...210和相应的函数值n y y y ,...,,10,求一个插值函数)(x ?,满足以下条件: (1) ),...,2,1,0()(n j y x j j ==?; (2) )(x ?在每一个小区间[1,+j j x x ]上是线性函数。 对于给定函数11-,2511)(2≤≤+= x x x f 。在区间[]11-,上画出f (x )和分段线性插值函数)(x ?的函数图像。 1. 分段线性插值的算法思想: 分段线性插值需要在每个插值节点上构造分段线性插值基函数)(x l j , 然后再作它们的线性组合。分段线性插值基函数的特点是在对应的插值节 点上函数值取 1,其它节点上函数值取0。插值基函数如下:

?????≤≤--=其它 ,0,)(101010x x x x x x x x l ???????????≤<--≤≤--=+++---其它 ,0,,)(11 1111j j j j j j j j j j j x x x x x x x x x x x x x x x l ?? ???≤≤--=---其它 ,0,)(111n n n n n n x x x x x x x x l 设在节点a≤x0<x1<…≤b=f(xi),(i=0,1,2,…,n)求折线函数L(x)满足: (1) L (x )∈C [a,b] (2) L(x[i]=y[i]) (3) L(x )在每个小区间(x[i],x[i+1])上是线性 插值函数¢(x )叫做区间[a ,b]上对数据(x[j],y[j ])(j=0,1,2,…,n)的分段区间函数。 利用一介拉格朗日函数,直接得到线性插值函数为: L(x0)=(x-x[1])/x [0]-x [1];(x [0]≤x ≤x[1]) L(x 0)=0(x[1]≤x ≤x[n]) 分段线性方程的表达式: ¢(x )=∑(j=0,..,n)y[j]*L [j](x); 3、实验代码: // LDlg .c pp : im plement ation #include "st daf x.h" #include "L.h" #in clud e "LDlg .h" #if de f _DE BU G #define new DEB UG _NE W #undef TH IS _ ch ar T HIS _FILE [] = __FI LE__; #en dif /////////////////////////////////////////////////////////////////////////////

分段线性插值函数的编程实现

1 问题的提出 对2 1 ()1f x x = +在(-5,5)上进行分段线性插值,取不同节点个数n ,得到不同分段线性插值函数. 虽然MATLAB 里有直接分段线性插值的函数,但为了对分段插值算法有更明确的理解,编写该程序是有必要的. 需要解决的问题: 1、 由已知数据节点编写程序,实现分段线性插值函数,从而能由所编函数得到非节点的函数值. 2、 比较用不同节点数所得插值函数与真实函数的误差,从而得出节点数与插值效果的关系. 2 理论基础 分段线性插值适用于计算简单、光滑性要求不高的插值问题,且其整体逼近 )(x f 的效果较好. 从几何意义上看,分段线性插值就是用折线近似代替曲线错误!未找到引用源。. 设在区间[a,b]上取n+1个点 .a 110b x x x x n n =<<<<=- 函数)(x f 在上述节点处的函数值为 )(y i i x f = ,,2,1,0)(n i = 于是得到n+1个点

). , (, ), , (, , 1 1 0n n y x y x y x ) ( 连接相邻两点错误!未找到引用源。和) , ( 1 1+ +i i y x, , 2,1,0) (n i =,得一折线函数) (x ?,若满足: (1)) (x ?在[a,b]上连续; (2)错误!未找到引用源。) , ,2,1,0 (n i =; (3)) (x ?在每个小区间错误!未找到引用源。上是线性函数, 则称折线函数) (x ?为分段线性插值函数. 模型一: 由分段线性插值函数的定义可知,) (x ?在每个小区间错误!未找到引用源。上可表为 , ) ( 1 1 1 1 + + + + - - + - - = i i i i i i i i y x x x x y x x x x x ? 错误!未找到引用源。)1- , ,2,1,0 (n i =. ) (x ?是一分段函数,若用基函数表示,只需对1 , ,2,1,0- =n i 令 ? ? ? ? ? ? ? ? ? = ≤ ≤ - - = ≤ ≤ - - = + + + - - - ,其他 略去 略去 ) ( , ) ( , ) ( 1 1 1 1 1 1 n i x x x x x x x i x x x x x x x x l i i i i i i i i i i i 显然,() i l x是分段的线性连续函数,且满足 ? ? ? ≠ = = k i k i x l k i,0 ,1 ) ( 于是 ∑ = = n i i i x l y x ), ( ) (?b x a≤ ≤ 模型二:

相关文档
最新文档