多项式插值的振荡现象
hermite多项式龙格现象

hermite多项式龙格现象
关于Hermite多项式和龙格现象,我可以从多个角度进行解释。
首先,让我们先来了解一下Hermite多项式。
Hermite多项式
是一类特殊的多项式,通常用来解决量子力学和概率论中的问题。
它们是Hermite微分方程的解,这些微分方程在量子力学中具有重
要的物理意义。
Hermite多项式在概率论中也有广泛的应用,特别
是在描述正态分布的概率密度函数时。
现在,让我们来谈谈龙格现象。
龙格现象是指在使用插值多项
式逼近某些函数时出现的现象。
当我们使用高次插值多项式来逼近
某些函数时,虽然在节点附近的逼近效果很好,但在远离节点的地
方却出现了振荡的现象,这就是龙格现象。
龙格现象对于数值计算
和插值问题具有重要的启示意义,需要我们谨慎选择插值多项式的
次数和节点的位置,以避免出现龙格现象导致的误差增大。
结合Hermite多项式和龙格现象,我们可以讨论在使用
Hermite插值多项式逼近某些函数时可能出现的龙格现象。
由于Hermite插值多项式是在给定节点处不仅给出函数值,还给出导数值,因此可以更好地逼近某些函数。
但是,当我们使用高次
Hermite插值多项式时,仍然可能会出现龙格现象,导致远离节点的地方逼近效果变差,甚至出现振荡现象。
总的来说,Hermite多项式和龙格现象都是数学和数值计算中重要的概念,它们在不同领域有着广泛的应用和深远的影响。
我们需要深入理解它们的性质和特点,以更好地应用于实际问题的求解和分析中。
数值分析实验报告--实验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),即插值效果越来越好。
各种插值法的对比研究

各种插值法的对比研究插值法是指通过已知数据点来估计两个数据点之间的未知数值。
在实际生活和科学研究中,经常会遇到需要插值的情况,例如气象预测、金融分析、图像处理等。
本文将对比介绍几种常见的插值方法,包括线性插值、多项式插值、样条插值和逆距离加权插值。
1.线性插值:线性插值是最简单的插值方法,假设两个数据点之间的值变化是线性的。
根据已知数据点的坐标和对应的值,通过线性方程推断两个数据点之间的值。
优点是计算简单快速,但缺点是对数据变化较快的情况下估计效果较差。
2.多项式插值:多项式插值假设两个数据点之间的值变化是一个多项式函数。
通过已知数据点的坐标和对应的值,使用多项式拟合方法求解多项式函数的系数,再根据该多项式求解两个数据点之间的值。
多项式插值可以准确拟合已知数据点,但在插值点较多时容易出现振荡现象,且对数据点分布敏感。
3.样条插值:样条插值是一种平滑的插值方法,通过构建分段连续的多项式函数来逼近整个数据集。
根据已知数据点的坐标和对应的值,通过求解一组多项式函数的系数,使得在相邻区间之间函数值连续,导数连续。
样条插值可以减少振荡现象,对于插值点密集的情况能更好地逼近原始数据。
4.逆距离加权插值:逆距离加权插值是一种基于距离的加权插值方法,根据已知数据点与插值点之间的距离,对每个已知数据点进行加权平均得到插值点的值。
该方法认为距离较近的数据点对插值结果的影响更大。
逆距离加权插值简单易用,对数据点的分布不敏感,但对于距离较远的数据点容易受到较大的干扰。
在实际应用中,选择合适的插值方法需要根据数据的特点和要求来决定。
若数据变化较简单、平滑,可以选择线性插值或多项式插值;若数据变化复杂,存在振荡现象,可以选择样条插值;若数据点分布较稀疏,可以选择逆距离加权插值。
此外,还有一些其他的插值方法,如Kriging插值、径向基函数插值等,它们根据不同的假设和模型进行插值,具有一定的特点和适用范围。
综上所述,对于选择合适的插值方法,需要根据具体问题和数据特点来综合考虑,结合不同方法的优缺点进行比较研究,以得到更准确和可靠的插值结果。
实验2.1

运行下面的程序,其中分点数取2: n=3; for i=1:n+1 x(i)=-5+10*(i-1)/n; y(i)=atan(x(i)); end x;y; xx=linspace(-5,5,30); for i=1:30 y1(i)=atan(xx(i)); end y1;yy=largrange(x,y,xx); plot(xx,y1,'r',xx,yy,'b')
end f=f+l; if i==n if(nargin==3) f=subs(f,'t',x0); else f=collect(f); f=vpa(f,6); end end end
当分点的数目为2时,则把区间 [1,1]分成了3部 分,得到4个节点。利用拉格朗日 插值法,运行如下的程序:
得到如下的图3:
1
0.8
0.6
0.4
0.2
0
-0.2
-0.4 -1
-0.8
-0.6
-0.4
-0.2
0
0.2
0.4
0.6
0.8
1
当分点的数目增大到8时,节点数目为 10,得到如下的图4:
1
0.8
0.6
0.4
0.2
0
-0.2
-0.4 -1
-0.8
-0.6
-0.4
-0.2
0
0.2
0.4
0.6
0.8
1
当分点数目增大到10时,节点数目为 12,得到如下的图5:
-0.6
-0.4
-0.2
0
0.2
0.4
0.6
0.8
1
当节点数为5时,得到下面的图18:
第5讲MATLAB多项式及插值

第5讲MATLAB多项式及插值
5.1.2 求和与求积
数据序列求和与求积的函数是sum和prod,其使用方 法类似。设X是一个向量,A是一个矩阵,函数的调用格 式为:
sum(X):返回向量X各元素的和。 prod(X):返回向量X各元素的乘积。 sum(A):返回一个行向量,其第i个元素是A的第i列的元素和。 prod(A):返回一个行向量,其第i个元素是A的第i列的元素乘积。 sum(A,dim):当dim为1时,该函数等同于sum(A);当dim为2时, 返回一个列向量,其第i个元素是A的第i行的各元素之和。 prod(A,dim):当dim为1时,该函数等同于prod(A);当dim为2时, 返回一个列向量,其第i个元素是A的第i行的各元素乘积。
为解决Rung问题,引入分段插值。 第5讲MATLAB多项式及插值
算法分析:所谓分段插值就是通过插值点用折线或低次曲线 连接起来逼近原曲线。
MATLAB实现 可调用内部函数。 ➢ 命令 interp1
功能 : 一维数据插值(表格查找)。该命令对数据点之 间计算内插值。它找出一元函数f(x)在中间点的数值。其 中函数f(x)由所给数据决定。
t = 1900:10:1990; p = [75.995 91.972 105.711 123.203 131.669...
150.697 179.323 203.212 226.505 249.633]; 对应于美国从1900年到1990年的每10年的人口数,求 1975年的人口。由此推断美国1900年到2000年每一年的 人口数,并画出图形。
k1
j1
xxj ) xk xj
jk
MATLAB中没有直接实现拉格朗日算法的函数,我们已经介 绍过该函数的书写:
实验2.1多项式插值的振荡现象

向宏志 20120047(2012-10-13)实验2.1(多项式插值的振荡现象)问题提出:考虑一个固定的区间上用插值逼近一个函数。
显然拉格朗日插值中使用的节点越多,插值多项式的次数就越高。
我们自然关心插值多项式的次数增加时,)(x L n 是否也更加靠近被逼近的函数。
龙格(Runge )给出一个例子是极著名并富有启发性的。
设区间[-1,1]上函数22511)(xx f += 实验内容:考虑区间[-1,1]的一个等距划分,分点为n i nix i ,,2,1,0,21 =+-= 则拉格朗日插值多项式为∑=+=ni ijn x l x x L 02)(2511)( 其中的n i x l i ,,2,1,0),( =是n 次拉格朗日插值基函数。
实验要求:(1) 选择不断增大的分点数目n=2,3….,画出原函数f(x)及插值多项式函数)(x L n 在[-1,1]上的图像,比较并分析实验结果。
(2)选择其他的函数,例如定义在区间[-5,5]上的函数x x g xxx h arctan )(,1)(4=+= 重复上述的实验看其结果如何。
(3)区间[a,b]上切比雪夫点的定义为 1,,2,1,)1(2)12(cos 22+=⎪⎪⎭⎫⎝⎛+--++=n k n k a b a b x k π 以121,,+n x x x 为插值节点构造上述各函数的拉格朗日插值多项式,比较其结果,试分析原因。
实验方法:考虑到:1、一幅图中太多的曲线会相互覆盖;2、n 取奇偶数可能结果不同;3、不同的节点选取方式可能导致不同的结果。
故而n 的选择分为n=2:2:8、n=3:2:9或者n=2:4:10、n=3:4:11与n=40三种情况;而节点的选取分为均匀节点、不均匀节点和切比雪肤节点三种。
说明:以下所有图中,蓝色曲线为原函数,绿色曲线为插值函数,插值节点数与两者交点数目相等。
实验数据及其分析:(1)22511)(x x f +=1. 节点为均匀节点时n i nix i ,,2,1,0,21 =+-=节点是对称的a)当节点数取为奇数个时,即n=2:2:8时。
数值分析实验报告模板
数值分析实验报告模板篇一:数值分析实验报告(一)(完整)数值分析实验报告12345篇二:数值分析实验报告实验报告一题目:非线性方程求解摘要:非线性方程的解析解通常很难给出,因此线性方程的数值解法就尤为重要。
本实验采用两种常见的求解方法二分法和Newton法及改进的Newton法。
利用二分法求解给定非线性方程的根,在给定的范围内,假设f(x,y)在[a,b]上连续,f(a)xf(b) 直接影响迭代的次数甚至迭代的收敛与发散。
即若x0 偏离所求根较远,Newton法可能发散的结论。
并且本实验中还利用利用改进的Newton法求解同样的方程,且将结果与Newton法的结果比较分析。
前言:(目的和意义)掌握二分法与Newton法的基本原理和应用。
掌握二分法的原理,验证二分法,在选对有根区间的前提下,必是收敛,但精度不够。
熟悉Matlab语言编程,学习编程要点。
体会Newton使用时的优点,和局部收敛性,而在初值选取不当时,会发散。
数学原理:对于一个非线性方程的数值解法很多。
在此介绍两种最常见的方法:二分法和Newton法。
对于二分法,其数学实质就是说对于给定的待求解的方程f(x),其在[a,b]上连续,f(a)f(b) Newton法通常预先要给出一个猜测初值x0,然后根据其迭代公式xk?1?xk?f(xk) f'(xk)产生逼近解x*的迭代数列{xk},这就是Newton法的思想。
当x0接近x*时收敛很快,但是当x0选择不好时,可能会发散,因此初值的选取很重要。
另外,若将该迭代公式改进为xk?1?xk?rf(xk) 'f(xk)其中r为要求的方程的根的重数,这就是改进的Newton 法,当求解已知重数的方程的根时,在同种条件下其收敛速度要比Newton法快的多。
程序设计:本实验采用Matlab的M文件编写。
其中待求解的方程写成function的方式,如下function y=f(x);y=-x*x-sin(x);写成如上形式即可,下面给出主程序。
数值分析课程设计-多项式插值的振荡现象matlab
数值分析课程设计多项式插值的振荡现象(姓名)(学号)指导教师学院名称专 业 名 称提交日期2012年6月一、 问题的提出考虑在一个固定区间上用插值逼近一个函数。
显然,Lagrange 插值中使用的节点越多,插值多项式的次数就越高。
我们自然关心插值多项式增加时,L n (x)是否也更加靠近被逼近的函数。
龙格(Runge)给出的一个例子是极著名并富有启发性的。
设区间[-1,1]上的函数21()125f x x=+ 考虑区间[-1,1]的一个等距划分,节点为21,0,1,2,,i i x i n n =-+=则拉格朗日插值多项式为201()()125nn i i i L x a x x ==+∑ 其中的a i (x),i=0,1,2,…,n 是n 次Lagrange 插值基函数。
二、 实验内容研究以下三个函数在各自区间上运用不同的划分1、21(),[1,1]125f x x x =∈-+ 2、4(),[5,5]1x h x x x=∈-+ 3、()arctan ,[5,5]g x x x =∈-运用在区间[-p,p]上等距划分(p>0),节点为2,0,1,2,,i i x p i n n =-+=以x 0,x 1,…,x n 为插值节点构造上述各函数的Lagrange 插值多项式。
运用区间[a,b]上切比雪夫(Chebychev)点的定义为(21)cos ,1,2,,1222(1)k b a b a k x k n n π⎛⎫+--=+=+ ⎪+⎝⎭以x 1,x 2,…,x n+1为插值节点构造上述各函数的Lagrange 插值多项式,比较其结果。
并分别比较两种划分方法,增加节点数,最大误差的变化。
三、 实验结果及分析(一) 等距划分 对于函数21(),[1,1]125f x x x =∈-+来说,使用等距划分其中绿色点线代表误差,红色划线代表Lagrange插值多项式,蓝色实线代表原函数。
可见对于等距划分来说节点数越多,最大误差越大,可是越靠近中间的误差越少。
数值分析4 多项式插值
根据插值余项定理可知:
(1 ) f ( x) Ln ( x) ( x x0 ) ( x xn ) (n 1)! f
( n 1)
f ~ f ( x) Ln ( x)
设
( 2 ) ( x x1 ) ( x xn 1 ) (n 1)!
( n 1)
温 度
31
32
31
29
27
25
24
22 20 18 17 16
找出这一天气温变化规律
插值问题的数学提法
已知函数 y f ( x) 在n+1个互异结点处的函数值
x
y f (x)
x0 y0
x1
y1
xn yn
求一个n次多项式 y P( x) 使其满足
P( xi ) yi
从而可以用P(x)近似f(x) 多项式P(x)称为插值多项式.
而不便于计算,希望用一个简单的函数来描述它。
最常用的简单函数是多项式函数,这是因为多项式函数便于 计算,同时理论上多项式函数有如下良好性质 Weierstrass逼近定理
if f C[a, b], then, 0, P( x), s.t. f ( x) P( x) (x [a, b])
x 225 x 169 15 56 56
所以 f (175 ) L1 (175 ) 13.214 285 71
三、Lagrange插值多项式的截断误差公式
设在插值区间[a,b]上,Pn(x)是满足插值条件的n次多项式
则,用Pn(x)近似f(x),产生的截断误差(插值余项)为
Chap4 多项式插值
Polynomial interpolation
数值分析课程设计---多项式插值的振荡现象
数值分析课程设计课程设计的目的和意义:⏹ 《课程设计》是数值分析的同步课程,是《数值分析》的上机实习课。
⏹ 《数值分析》课程中构造了各种有效的算法和有效公式,同学们通过上机作课程设计,学习揣摩这些算法的思想和构造,评价算法的优劣性。
⏹ 通过上机,可以提高我们运用数学软件编程解决问题的能力,为今后从事科学计算和软件开发打下良好的基础。
课程设计的题目:多项式插值的振荡现象设计目的:通过对多项式插值现象的观察,了解多项式的次数与逼近效 的关系,提高同学们分析实验结果的能力。
问题提出:考虑在一个固定区间上用插值逼近一个函数。
显然,Lagrange 插值中使用的节点越多,插值多项式的次数就越高。
我们自然关心插值多项式增加时,Ln(x)是否也更加靠近被逼近的函数。
龙格(Runge)给出的一个例子是极著名并富有启发性的。
设区间[-1,1]上的函数21()125f x x =+区间[-考虑设计1,1]的一个等距划分,节点为21,0,1,2,,i ix i nn=-+=则拉个朗日插值多项式为201()()125nn ii i L x l x x ==+∑其中的l i(x),i=0,1,2,…,n 是n 次Lagrange 插值基函数。
设计要求:1.选择不断增大的分点数n=2,3,…*画出原函数f(x)及插值多项式函数Ln(x)在[-1,1]上的图像; *给出每一次逼近的最大误差; *比较并分析实验结果。
2.选择其它函数,例如定义在区间[-5,5]上的函数。
4(),()arctan 1xh x g x x x ==+重复上述实验看其结果如何。
3.区间[a,b]上切比雪夫(Chebychev)点的定义为(21)cos ,1,2,,1222(1)k b a b ak x k n n π⎛⎫+--=+=+⎪+⎝⎭以x1,x2,…,xn+1为插值节点构造上述各函数的Lagrange 插值多项式,比较其结果。
设计过程:已知函数f (x )在n +1个点x 0,x 1,…,xn 处的函数值为 y 0,y 1,…,yn 。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验内容:考虑区间[-1,1]的一个等距划分,分点为
2i xi = −1 +
Ln ( x) = ∑
1 l ( x) 2 i i =0 1 + 25 x j
n
其中的 li ( x), i = 0,1,2,, n 是 n 次拉格朗日插值基函数。
附:主要程序代码 % f=inline('1./(1+25*x.^2)'); f=inline('atan(x)'); % a=-1;b=1; a=-5;b=5; x=a:0.01:b; fx=f(x); plot(x,fx); hold on; for Nd=2:10 x0=linspace(a,b,Nd+1); y0=feval(f,x0); y=Lagrange(x0,y0,x); plot(x,y); hold on; end
上图中对于 0 点处的拟合, 偶数个节点时 (Nd=3 时) 要比附近奇数节点 (Nd=2、 Nd=4) 时要好一些。
但是不管怎么样,当 0 点拟合的好一点的时候,两端的误差就会变大。 3. g ( x) = arctan x 时,在不同分段插值的插值函数如下:
取前几部分的曲线
仍然可以得出对于 g(x)是奇函数,上图中对于 0 点处的拟合,偶数个节点时(Nd=3 时)要比附近奇数节点(Nd=2、Nd=4)时要好一些。但是总的来说,当 0 点拟合的好一点 的时候,两端的误差就会变大,节点数越多,仍然零点处拟合的会更好,两端误差会更大。
实验要求:
(1) 选择不断增大的分点数目 n=2,3….,画出原函数 f(x)及插值多项式函 数 Ln ( x) 在[-1,1]上的图像,比较并分析实验结果。 (2)选择其他的函数,例如定义在区间[-5,5]上的函数 x h( x ) = , g ( x) = arctan x 1+ x4 重复上述的实验看其结果如何。
实验记录
1. 根据实验要求编写的代码如下:
其中拉格朗日插值函数代码如下
采用 for 循环画图,画出不同插值点下的插值图像如下:
在不同的插值节点(奇数,偶数)下的插值图像分别如下
由图中可以看出,在将区间分为偶数份时,则有奇数个节点,其中有一个点过 0 点,所以奇 数个节点时,插值函数和原函数 0 点的值重合,但无论插值函数是奇数个点还是偶数个点, 有个共同的特征: (1) 由于原函数是对称,所以插值函数也是对称的 (2) 节点数越多,在 0 点附近的拟合值越好 (3) 节点数越多,在区间两端的误差越大 2. 选择其他的函数,例如定义在区间[-5,5]上的函数
实验 2.1(多项式插值的振荡现象) 问题提出:考虑一个固定的区间上用插值逼近一个函数。显然拉格朗日
插值中使用的节点越多,插值多项式的次数就越高。我们自然关心插值多项式的 次数增加时, Ln ( x) 是否也更加靠近被逼近的函数。龙格(Runge)给出一个例子 是极著名并富有启发性的。设区间[-1,1]上函数 1 f ( x) = 1 + 25 x 2
function y=Lagrange(x0,y0,x) n=length(x0); m=length(x); for i=1:m z=x(i); s=0.0; for k=1:n p=1.0; for j=1:n if(j~=k) p=p*(z-x0(j))/(x0(k)-x0(j)); end end s=s+p*y0(k); end y(i)=s; end end
h( x ) =
x , g ( x) = arctan x 1+ x4
将源代码的函数和区间改一下,如下图
h( x ) =
x 是奇函数,在不同插值节点下的插值函数如下图所示: 1 + x4
由上图可以知道, 在原函数为奇函数时无论插值节点是奇数个还是偶数个, 插值函数仍然过 原点,但有所不同的是:虽然同在奇数个节点和偶数个节点下,节点数越多,仍然零点处拟 合的会更好,两端误差会更大。但是取一部分来看,如下图:
实验结论
1. 插值节点的数目不一定是越多拟合得越好,很多时候会出现发散现象。因为从插值 余项上看,n 增大,其分母(n+1)!是增大,但是分子������������������������+1 (������������)也在不断增大,它们 谁的影响大是和节点选取直接相关的,不一定就谁大。 2. 对称的节点选取,得到的插值函数的对称性与被插值函数相同 3. 对于奇函数来说,偶数个点的插值在零点处的拟合要比奇数个节点的拟合要好