插值法数值上机实验报告

合集下载

插值法实验报告

插值法实验报告

实验二插值法1、实验目的:1、掌握直接利用拉格郎日插值多项式计算函数在已知点的函数值;观察拉格郎日插值的龙格现象。

2、了解Hermite插值法、三次样条插值法原理,结合计算公式,确定函数值。

2、实验要求:1)认真分析题目的条件和要求,复习相关的理论知识,选择适当的解决方案和算法;2)编写上机实验程序,作好上机前的准备工作;3)上机调试程序,并试算各种方案,记录计算的结果(包括必要的中间结果);4)分析和解释计算结果;5)按照要求书写实验报告;3、实验内容:1) 用拉格郎日插值公式确定函数值;对函数f(x)进行拉格郎日插值,并对f(x)与插值多项式的曲线作比较。

已知函数表:(0.56160,0.82741)、(0.56280,0.82659)、(0.56401,0.82577)、(0.56521,0.82495)用三次拉格朗日插值多项式求x=0.5635时函数近似值。

2) 求满足插值条件的插值多项式及余项1)4、题目:插值法5、原理:拉格郎日插值原理:n次拉格朗日插值多项式为:Ln (x)=yl(x)+y1l1(x)+y2l2(x)+…+ynln(x)n=1时,称为线性插值,L 1(x)=y(x-x1)/(x-x1)+y1(x-x)/(x1-x)=y+(y1-x)(x-x)/(x1-x)n=2时,称为二次插值或抛物线插值,L 2(x)=y(x-x1)(x-x2)/(x-x1)/(x-x2)+y1(x-x)(x-x2)/(x1-x)/(x1-x2)+y2(x-x0)(x-x1)/(x2-x)/(x2-x1)n=i时,Li= (X-X0)……(X-X i-1)(x-x i+1) ……(x-x n)(X-X0)……(X-X i-1)(x-x i+1) ……(x-x n)6、设计思想:拉格朗日插值法是根据n + 1个点x0, x1, ... x n(x0 < x1 < ... x n)的函数值f (x0), f (x1) , ... , f (x n)推出n次多項式p(x),然后n次多項式p (x)求出任意的点x对应的函数值f (x)的算法。

插值运算实验报告

插值运算实验报告

#### 一、实验目的1. 理解插值运算的基本概念和原理。

2. 掌握几种常见的插值方法,如拉格朗日插值、牛顿插值等。

3. 通过实验,验证插值方法在数值计算中的应用效果。

4. 培养动手能力和分析问题的能力。

#### 二、实验原理插值运算是指根据已知数据点,构造一个近似函数来描述这些数据点之间的变化规律。

常见的插值方法有拉格朗日插值、牛顿插值、分段线性插值等。

#### 三、实验内容1. 数据准备准备一组数据点,例如:```x: [1, 2, 3, 4, 5]y: [2, 4, 6, 8, 10]```2. 拉格朗日插值根据给定的数据点,构造拉格朗日插值多项式。

以三次拉格朗日插值为例,其公式如下:```L(x) = y0 ((x - x1) (x - x2) (x - x3)) / ((x0 - x1) (x0 - x2) (x0 - x3))+ y1 ((x - x0) (x - x2) (x - x3)) / ((x1 - x0) (x1 - x2) (x1 - x3))+ y2 ((x - x0) (x - x1) (x - x3)) / ((x2 - x0) (x2 - x1) (x2 - x3))+ y3 ((x - x0) (x - x1) (x - x2)) / ((x3 - x0) (x3 - x1)(x3 - x2))```将数据点代入上述公式,得到拉格朗日插值多项式。

3. 牛顿插值根据给定的数据点,构造牛顿插值多项式。

以三次牛顿插值为例,其公式如下:```N(x) = y0 + (x - x0) (y1 - y0) / (x1 - x0) + (x - x0) (x - x1) (y2 - y1) / ((x1 - x0) (x2 - x1)) + (x - x0) (x - x1) (x - x2) (y3 - y2) / ((x1 - x0) (x2 - x1) (x3 - x2))```将数据点代入上述公式,得到牛顿插值多项式。

数值分析上机实验报告(插值)

数值分析上机实验报告(插值)

数值分析第一次上机练习实验报告——Lagrange 插值与三次样条插值一、 问题的描述设()2119f x x =+, []1,1x ∈-,取15iix =-+,0,1,2,...,10i =.试求出10次Lagrange 插值多项式()10L x 和三次样条插值函数()S x (采用自然边界条件),并用图画出()f x ,()10L x ,()S x .二、 方法描述——Lagrange 插值与三次样条插值我们取15i ix =-+,0,1,2,...,10i =,通过在i x 点的函数值()2119i i f x x =+来对原函数进行插值,我们记插值函数为()g x ,要求它满足如下条件:()()21,0,1,2,...,1019i i i g x f x i x ===+ (1)我们在此处要分别通过Lagrange 插值(即多项式插值)与三次样条插值的方法对原函数()2119f x x=+进行插值,看两种方法的插值结果,并进行结果的比较。

10次的Lagrange 插值多项式为:()()10100i i i L x y l x ==∑ (2)其中:()21,0,1,2,...,1019i i iy f x i x ===+ 以及()()()()()()()()()011011......,0,1,2,...,10......i i n i i i i i i i n x x x x x x x x l x i x x x x x x x x -+-+----==----我们根据(2)进行程序的编写,我们可以通过几个循环很容易实现函数的Lagrange 插值。

理论上我们根据区间[]1,1-上给出的节点做出的插值多项式()n L x 近似于()f x ,而多项式()n L x 的次数n 越高逼近()f x 的精度就越好。

但实际上并非如此,而是对任意的插值节点,当n →+∞的时候()n L x 不一定收敛到()f x ;而是有时会在插值区间的两端点附近会出现严重的()n L x 偏离()f x 的现象,即所谓的Runge 现象。

数值分析实验报告--实验2--插值法

数值分析实验报告--实验2--插值法

1 / 21数值分析实验二:插值法1 多项式插值的震荡现象1.1 问题描述考虑一个固定的区间上用插值逼近一个函数。

显然拉格朗日插值中使用的节点越多,插值多项式的次数就越高。

我们自然关心插值多项式的次数增加时, 是否也更加靠近被逼近的函数。

龙格(Runge )给出一个例子是极著名并富有启发性的。

设区间[-1,1]上函数21()125f x x=+ (1)考虑区间[-1,1]的一个等距划分,分点为n i nix i ,,2,1,0,21 =+-= 则拉格朗日插值多项式为201()()125nn ii iL x l x x ==+∑(2)其中的(),0,1,2,,i l x i n =是n 次拉格朗日插值基函数。

实验要求:(1) 选择不断增大的分点数目n=2, 3 …. ,画出原函数f(x)及插值多项式函数()n L x 在[-1,1]上的图像,比较并分析实验结果。

(2) 选择其他的函数,例如定义在区间[-5,5]上的函数x x g xxx h arctan )(,1)(4=+=重复上述的实验看其结果如何。

(3) 区间[a,b]上切比雪夫点的定义为 (21)cos ,1,2,,1222(1)k b a b ak x k n n π⎛⎫+--=+=+ ⎪+⎝⎭(3)以121,,n x x x +为插值节点构造上述各函数的拉格朗日插值多项式,比较其结果,试分析2 / 21原因。

1.2 算法设计使用Matlab 函数进行实验, 在理解了插值法的基础上,根据拉格朗日插值多项式编写Matlab 脚本,其中把拉格朗日插值部分单独编写为f_lagrange.m 函数,方便调用。

1.3 实验结果1.3.1 f(x)在[-1,1]上的拉格朗日插值函数依次取n=2、3、4、5、6、7、10、15、20,画出原函数和拉格朗日插值函数的图像,如图1所示。

Matlab 脚本文件为Experiment2_1_1fx.m 。

可以看出,当n 较小时,拉格朗日多项式插值的函数图像随着次数n 的增加而更加接近于f(x),即插值效果越来越好。

lagrange插值法上机实践报告

lagrange插值法上机实践报告
3.625000000000000
五、计算结果的分析
三次Lagrange插值多项式为:

2.125000000000000; 0.375000000000000; 3.625000000000000.
六、计算中出现的问题,解决方法及体会
从上面的试验结果中我们可以看出拉格朗日插值法在实际中的巨大作用,它能使因试验得到的复杂数据处理更简单化,对于一些没有明确函数关系的数据处理,通过插值法构造的近似函数能有效的反映原数据的特性,又在插值法中,拉格朗日插值是一种多节点选取的插值法,其构造结果更加渐进真实结果,则在实际中用的更多,所以在今后的操作中,如何得到更加近似于原试验数据的构造函数,即如何减小拉格朗日插值多项式误差计算问题是我们以后做研究时要重点关注和去解决的难点。
四、数值结果五、计算结果的分析 六、计算中出现的问题,解决方法及体会
一、实验目的、内容
实验目的:
1.了解lagrange插值法的基本原理和方法;
2.掌握拉格郎日插值多项式的用法,适用范围及精确度;
3.学习掌握MATLAB软件有关的命令。
内容:
已知数据点 ,求三次Lagrange插值多项式 , 并求
二、相关背景知识介绍

其中 为以 为节点的n次插值基函数,则 是一次数不超过n的多项式,且满足
, j=0,1,…,n
再由插值多项式的唯一性,得
上式表示的插值多项式称为拉格朗日(Lagrange)插值多项式。
三、代码(Matlab)
functiony = lagrange(x0,y0,x)
n = length(x0);
m = length(x);
(3)拉格朗日插值法的概述
拉格朗日插值用来求n个节点的(n-1)次插值多项式,它就是线性插值和抛物线插值的推广和延伸。我们设有n个节点,则拉格朗日插值的表达式表示为:

插值数值实验报告(3篇)

插值数值实验报告(3篇)

第1篇一、实验目的1. 理解并掌握插值法的基本原理和常用方法。

2. 学习使用拉格朗日插值法、牛顿插值法等数值插值方法进行函数逼近。

3. 分析不同插值方法的优缺点,并比较其精度和效率。

4. 通过实验加深对数值分析理论的理解和应用。

二、实验原理插值法是一种通过已知数据点来构造近似函数的方法。

它广泛应用于科学计算、工程设计和数据分析等领域。

常用的插值方法包括拉格朗日插值法、牛顿插值法、样条插值法等。

1. 拉格朗日插值法拉格朗日插值法是一种基于多项式的插值方法。

其基本思想是:给定一组数据点,构造一个次数不超过n的多项式,使得该多项式在这些数据点上的函数值与已知数据点的函数值相等。

2. 牛顿插值法牛顿插值法是一种基于插值多项式的差商的插值方法。

其基本思想是:给定一组数据点,构造一个次数不超过n的多项式,使得该多项式在这些数据点上的函数值与已知数据点的函数值相等,并且满足一定的差商条件。

三、实验内容1. 拉格朗日插值法(1)给定一组数据点,如:$$\begin{align}x_0 &= 0, & y_0 &= 1, \\x_1 &= 1, & y_1 &= 4, \\x_2 &= 2, & y_2 &= 9, \\x_3 &= 3, & y_3 &= 16.\end{align}$$(2)根据拉格朗日插值公式,构造插值多项式:$$P(x) = \frac{(x-x_1)(x-x_2)(x-x_3)}{(x_0-x_1)(x_0-x_2)(x_0-x_3)}y_0 + \frac{(x-x_0)(x-x_2)(x-x_3)}{(x_1-x_0)(x_1-x_2)(x_1-x_3)}y_1 + \frac{(x-x_0)(x-x_1)(x-x_3)}{(x_2-x_0)(x_2-x_1)(x_2-x_3)}y_2 + \frac{(x-x_0)(x-x_1)(x-x_2)}{(x_3-x_0)(x_3-x_1)(x_3-x_2)}y_3.$$(3)计算插值多项式在不同点的函数值,并与实际值进行比较。

数值分析实验报告(插值法)

数值分析实验报告(插值法)

武汉理工大学学生实验报告书实验课程名称数值分析开课学院计算机科学与技术学院指导老师姓名学生姓名学生专业班级2010—2010学年第一学期实验课程名称:数值分析第二部分:实验调试与结果分析(可加页)一、调试过程(包括调试方法描述、实验数据记录,实验现象记录,实验过程发现的问题等)(1)用拉格朗日插值法计算时,输入及运行结果如下:拉格朗日插值法牛顿插值法(2)利用二次插值计算时,输入及运行结果如下:拉格朗日插值法牛顿插值法(3)用艾尔米特插值法计算时,f(x)的插值多项式H5(x)=(1+4*x)*(x-0.5)*(x-0.5)*(x-2)*(x-2)+(3.90807-6.03838*x)*(x-2)*(x-2)*x*x+(2.34573-4.16674*x)*x*x*(x-0.5)*(x-0.5)(4)各插值算法的精度差异比较经过比较,拉格朗日插值法要比牛顿插值法算法的计算量多一些,拉格朗日插值法后一次计算时用到了前一次计算的结果,提高了运算的效率,但拉格朗日插值法在构造艾尔米特插值法时很方便,将坐标点和对应的导数结合起来的精度比线性插值的精度又要高一些。

但从实验数据来看,在坐标不是很多的情况下,已知的点越多精度也就相对较高。

对于实验要求的第二组数据用拉格朗日插值法(或者牛顿插值法)实验结果如下:一下分别是二阶、三阶、四阶、五阶插值得到的结果以上只是实验结果的一部分,改变插值的位置时,得到的实验结果精度也是有所不同的。

由以上结果分析可知,插值次数并不是越多越好,多了反而会让结果更加偏离真实结果,这充分说明了高次插值存在“病态性质”,在已知点很多的情况下应该采用分段低次插值,将拉格朗日插值法和牛顿插值法运用到分段低次插值法当中,这样得到的结果可能胡更加精确。

插值法上机报告

插值法上机报告

插值法实验报告姓名:学号:专业:Matlab 中的一元插值函数为interp1( ),一元插值函数的几种调用格式如下表: 语法形式 说明y=interp1(x,y,x i )由已知点集(x ,y )插值计算x i 上的函数值y=interp1(x,y,x i,,method)用指定插值方法计算插值点x i 上的函数值y=interp1(x,y,x i ,method,’extrap ’)对x i 中超出已知点集的插值点用指定插值方法计算函数值y=interp1(x,y,x i , ’extrap ’ extrapval)用指定方法插值x i 上的函数值,超出已知点集处函数值取extrapval y=interp1(x,y,x i ’pp ’)用指定方法插值,但返回结果为分段多项式Matlab 中一维插值有多种算法,由interp1函数中的method 指定。

一维插值算法 Method方法描述‘nearest ’ 最邻近插值:插值点处函数值取与插值点最邻近的已知点的函数值 ‘liner ’分段线性插值:插值点处函数值由连接其最邻近的两侧点的线性函数预测,MATLAB 中interp1的默认方法‘spline ’ 样条插值:默认为三次样条插值。

可用spline 函数代替 ‘pchip ’ 三次Hermite 多项式插值,可用pchip 函数代替‘cubic’同‘pchip’,三次Hermite多项式插值用interp1对cos函数进行分段线性插值。

在MATLAB命令窗口中输入以下命令:>> x=-pi:pi;>> y=cos(x);>> xx=-pi:0.5:pi;>> yy=interp1(x,y,xx);>> plot(x,y,'s',xx,yy)用其他一维插值方法对以下7个离散数据点(1,3.5)、(2,2.1)、(3,1.3)、(4.0.8)、(5,2.9)、(6,4.2)、(7,5.7)进行一维插值方法。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

插值法数值上机实验报告
实验题目:
利用下列条件做插值逼近,并与R (x) 的图像比较
考虑函数:R x y=1
1+x2
(1)用等距节点X i=−5+i,i=0,1,...,10.给出它的10次Newton插值多项式的图像;
π),i=0,1,...,20.给出它的20次Lagrange插值多项式(2)用节点X i=5cos(2i+1
42
的图像;
(3)用等距节点X i=−5+i,i=0,1,...,10.给出它的分段线性插值函数的图像;(4)用等距节点X i=−5+i,i=0,1,...,10.给出它的三次自然样条插值函数的图像;
(5)用等距节点X i=−5+i,i=0,1,...,10.给出它的分段三次Hermite插值函数的图像;
实验图像结果:
实验结果分析:
1.为了验证Range现象,我还特意做了10次牛顿插值多项式和20次牛顿插值多项式的对比图像,结果如下图(图对称,只截取一半)
可以看出,Range现象在高次时变得更加明显。

这也是由于高次多项式在端点处的最值随次数的变大很明显。

可以料定高次多项式在两侧端点处剧烈震荡,在更小的间距内急剧上升然后下降,Range现象非常明显。

2.分析实验(2)的结果,我们会惊讶地发现,由于取21个点逼近,原本预料的Range现象会很明显,但这里却和f(x)拟合的很好。

(即下图中Lagrange p(x)的图像)。

可是上图中取均匀节点的20次牛顿多项式逼近的效果在端点处却很差。

料想是由于节点X i=5cos2i+1
42
π ,i=0,1,...,20 取得很好。

由书上第五章的
知识,对于函数y=1
1+x ,y
1
2对应的cherbyshev多项式的根恰好为X i=
5cos2i+1
42
π ,i=0,1,...,20 。

由于所学限制,未能深入分析。

(3)比较三次样条插值图像和Hermit插值图像对原函数图像的逼近情形。

见下图:
初看上去,两者都逼近的很好,也都没有Range现象。

经放大后,局部来看:
在某些地方,分段三次Hermite插值比三次样条插值逼近效果更好。

分析如下:
三次样条插值函数只利用基点处的函数值,并未利用到导函数值,虽然要求二次连续可微,但这并不能保证逼近的好。

而分段三次Hermite插值在每段区间上不但要求函数值相等,还要求导函数值相等,这就保证了插值函数在基点处图像与原函数相切,所以逼近效果更好。

注意到分段三次Hermite插值比三次样条插值利用了更多的条件,这也从另一个方面说明了其逼近效果理论上应该更好。

(4)分析三次自然样条插值函数的图像,我们会发现逼近的效果很好,且没有实验(1)中的Range现象。

但同时我也发现了三次自然样条方法特别依赖于选点,如果少了点,影响会很大。

例如,在实现上图代码的基础上,将节点X i=−5+i,i=0,1,...,10.去除其中X=0的点,得到下面的图像:中间直接拟合的效果很差。

(见下图)
是左右对称的,而恰好实验同时很依赖于节点的选取,由于这里原函数y=1
1+x2
所给的是等距左右对称的节点,所以效果才这么好,如果非等距对称节点效果会差不少。

4.对比三次Hermit插值和三次样条插值的图像:
实验中碰到的问题:
1.在编写实现第四个实验的程序时,由于不想在MATLAB中使用大量的for循环,特意使用MATLAB的向量化编程技巧。

例如:
但这里便没用到Honor算法,去算函数在作图点的值。

所以此处应该还可以在优化。

2.在设计最后一题程序时,由于时间问题没有考虑优化算法,仅仅为了实现画图的功能,编的很冗杂。

应该可以做大幅度的优化。

如下图:
3.初始时对Matlab运用不熟,时常有语法问题,比如“:”一不小心错用成“;”,导致运行结果故障。

程序实现:
本实验由MATLAB编程实现。

程序代码见后附文件。

说明:(共有八个函数文件)
1.Hermit_figure: 生成分段三次Hermit插值函数图形,并与原图形对比。

grange_function: 构造Lagrange插值函数,在后续Plot和Plot2中调用。

3.Newton_function: 构造Lagrange插值函数,在后续Plot和Plot2中调用。

4.Nspline_figure: 生成三次自然样条插值函数的图像,并与原图形对比。

5.Plot: 在同一个图中画Newton插值多项式图形(调用3)、Lagrange插值多项式图像(调用2)、分段线性图形、原函数图形。

6.Plot2:此文件用来在整个图像中生成前三问对应的子图(调用2和3)。

7.Plot3: 验证Range现象:比较Newton10次多项式和Newton20次多项式的图像(调用2)。

8.Plot4:生成自然三次样条插值的图形、原函数图形和Hermit插值多项式图形,并进行比较效果。

相关文档
最新文档