龙格现象
拉格朗日插值龙格现象的matlab实现
拉格朗日插值法在实践中的应 用
在数值分析中的应用
单击此处添加标题
插值法:拉格朗日插值法是数值分析中常用的插值方法之一,具有简单易 行、计算量小等优点。
单击此处添加标题
数据拟合:拉格朗日插值法可以用于数据拟合,通过对已知数据进行插值, 得到未知数据的近似值。
单击此处添加标题
数值微积分:拉格朗日插值法在数值微积分中也有广泛应用,例如在求解 函数的导数、积分等运算时,可以利用拉格朗日插值法进行近似计算。
龙格现象
龙格现象的定义
定义:当插值多项式的阶数过高时, 插值结果可能变得不可预测或出现 剧烈振荡
解决方法:在实际应用中,应避免 使用过高的插值多项式阶数,而应 选择合适的阶数以保证插值结果的 稳定性和准确性
添加标题
添加标题
添加标题
添加标题
原因:由于高阶插值多项式对数据 点的敏感性增强,导致插值结果不 稳定
拉格朗日插值龙格现象的 Matlab实现
汇报人:XX
单击输入目录标题 拉格朗日插值法 龙格现象 拉格朗日插值法在Matlab中的实现 拉格朗日插值法的龙格现象分析 拉格朗日插值法在实践中的应用
添加章节标题
拉格朗日插值法
插值法的定义
插值法是一种数学方法,通过已知的离散数据点,构造一个多项式函数,使得该函数在 数据点处的取值等于已知的数据点值。
算法收敛性:在某些情况下,龙格现象可能导致算法收敛速度减慢,增加计算时间和计算成本。
实际应用限制:由于龙格现象的存在,某些数值方法在实际应用中可能受到限制,无法处理某些 复杂问题。
算法改进需求:为了克服龙格现象的影响,需要研究和发展新的数值方法和算法,提高数值计算 的稳定性和精度。
拉格朗日插值法在Matlab中的 实现
Runge现象的研究
[ ] =a a0 , a1,, an T ∈ Rn+1
1
=V
1
x0 x1
x0n x1n
∈
R ( n +1)×( n +1)
1
xn
xnn
[ ] =y y0 , y1,, yn T ∈ Rn+1
DOI: 10.12677/aam.2019.88175
Received: August 6th, 2019; accepted: August 21st, 2019; published: August 28th, 2019
Abstract
Firstly, this paper explains the Runge phenomenon generated by high-order polynomial interpolation, and proves that the interpolation polynomial divergence is obtained by calculating the systematic error. Secondly, taking the Runge function, inverse trigonometric function and fractional function as examples, the interpolation polynomial of the function is obtained by using the equally spaced Newton interpolation, and then the interpolation residual function expression is obtained, and then the midpoint of adjacent two nodes is calculated. The error at the location determines that the above three functions have generated the Runge phenomenon. Thirdly, the three algorithms of Chebyshev node, piecewise linear interpolation and cubic spline interpolation are introduced and verified, which can avoid the Runge phenomenon. Finally, the approximation performance index is proposed, and based on the optimal polynomial construction coefficient and order double determination method, the algorithm has excellent function approximation effect while avoiding the Runge phenomenon.
利用MQ拟插值解决高次插值所出现的龙格现象
利用MQ拟插值解决高次插值所出现的龙格现象寿媛;陈豫眉【摘要】Interpolation is an ancient and practical approach mostly used for function approximation .In view of that different interpolation methods have different advantages and disadvantages , this paper is aimed at the re-search on how to solve Runge phenomenon appearing in the Lagrange polynomial interpolation .In practice, piece-wise linear interpolation is frequently used to avoid high order interpolation Runge phenomenon , while MQ quasi-in-terpolation can also be applied for the high-order interpolation Runge phenomenon solution by real example analy-sis.%本文对拉格朗日插值法在高次插值时出现的龙格现象展开研究。
通过实例分析可知,MQ拟插值可以解决高次插值时出现的龙格现象。
【期刊名称】《洛阳师范学院学报》【年(卷),期】2016(035)005【总页数】4页(P6-9)【关键词】拉格朗日插值;线性分段插值;MQ拟插值【作者】寿媛;陈豫眉【作者单位】西华师范大学数学与信息学院,四川南充637009;西华师范大学数学与信息学院,四川南充637009【正文语种】中文【中图分类】O241.3插值是函数逼近的一种重要方法,它可以通过函数在有限个点处的取值,利用形式简单的函数估计出形式复杂、不易计算的函数在其它点处的近似值.常用的插值有多项式插值[1]、样条曲线插值、代数曲线插值等.由于多项式插值具有计算简单等特点,因此常常用做逼近函数.对于一些函数,运用多项式插值,可以构造出形式简单并且具有良好逼近效果的多项式.但并不是所有的函数利用插值多项式都能够得到良好的逼近效果,例如有些函数在插值节点周围会出现龙格现象.龙格现象[2]是指,在区间内取等距插值点,运用插值多项式进行逼近时,逼近多项式在区间两端会发生震荡,并且随着插值次数增高,震荡现象也会严重,因而逼近误差也会增大.为了解决龙格现象,通常使用分段线性插值,利用分区间的低阶多项式对被插值函数进行良好地逼近.本文利用MQ拟插值[3]来解决龙格现象.MQ拟插值中有可调节的形状参数c,并且MQ拟插值自身具有无穷次可微性,因此MQ拟插值继承了分段线性插值函数的优点,同时解决了分段线性插值函数在插值节点处不光滑的缺点,从而可知MQ拟插值能够构造出基于等距节点的插值函数,这种插值函数能良好的逼近原函数,可以消除龙格现象.多项式具有简单、容易计算等特点,而且多项式函数几乎可以逼近所有的函数,因此,常常运用多项式逼近其它复杂、不易计算的函数.对于一个n次插值多项式Pn(x),往往需要求解插值多项式的系数ai(i=0,1,…,n),而且,当n较大时,求解多项式的系数会麻烦.因此,为了简化计算,可以通过拉格朗日插值来构造插值函数.定义1[4] 设a=x0<x1<…<xn=b,已知函数值yi=f(xi)(i=0,1,…,n),Ln(x)为不超过n次的多项式,则拉格朗日插值多项式为li(x)=).利用拉格朗日多项式构造插值时,随着插值节点个数的增加,拉格朗日插值对于原函数的逼近效果并不见得好.因为随着插值节点个数的增多,在插值节点周围会发生震荡现象,并且这种偏离现象往往会随着插值节点个数的增加而越来越严重.为段线性插值.定义2[4] f(x)在[a,b]上具有二阶连续导数,对于节点a=x0<x1<…<xn=b,已知其函数值f(x0), f(x1), …, f(xn),记hi=xi+1-xi,h=maxihi,因此,Ih(x)在每个小区间[xi,xi+1]上可表示为1968年,R.L. Hardy提出一种新的径向基函数——Multi-quadric函数,简称MQ[5],并于1971年首次发表了一篇关于MQ的论文[6]. 现如今,人们主要将MQ用于函数的逼近,也就是函数的插值.但是,利用MQ插值时需要求解一个系数矩阵,而当插值节点的个数很大时,这个系数矩阵往往是病态的.因此,就开始了对MQ拟插值(Lf)(x)的研究.定义3[3] 如果a=x0<x1<…<xn=b,h=max(xj-xj-1),对于给定函数f∈C1[x0, xn]和数据拟插值算子为(L f)(x)=∑fjψj(x),其中ψj(x)是函数φ(‖x-xj‖)的线性组合,φj(x)=φ(‖x-xj‖) c为参数且大于零.Powell和Beatson构造了三种MQ拟插值算子: (LA f)(x),(LB f)(x),(LCf)(x)[7],但是(LC f)(x)需要被插值函数在其端点处的导数信息,这限制了(LC f)(x)在实际中的应用. 因此,Wu和Schaback提出了另一种不需要被插值函数在端点处导数信息的MQ拟插值算子(LD f)(x)[8].MQ拟插值算子(LD f)(x)为.利用拉格朗日插值,分段线性插值和MQ拟插值分别进行函数插值,其中对于MQ拟插值中的形状参数c取为0.05.实验].实验].实验3 f3(x)=arctanx,x∈[-10,10].从实验1到实验3可以看出,对于简单函数,当插值节点的个数为6(即插值次数为5),用拉格朗日插值时,插值函数在插值区间的两端出现了震荡现象,并且随着插值次数的增加,震荡现象越明显.但是利用分段线性插值与MQ拟插值中并没有出现龙格现象,而且拟合的效果比较好.实验表明,除了常用的分段线性插值能够解决高次插值时出现的龙格现象,MQ拟插值也能消除龙格现象.。
数值分析实验四(龙格函数)
实验名称:龙格反例的数值实验实验目的与要求:1、了解切比雪夫多项式零点插值;2、运用切比雪夫多项式零点插值法避免龙格现象。
3、与等距节点构造插值多项式比较。
实验内容:龙格反例的数值实验在区间[–5,5 ]上分别取11阶切比雪夫多项式的零点22)12(cos 5π+=k x k ( k = 0,1,2,……,10) 和等距节点作插值结点,计算函数211)(xx f +=在结点处的值 y k = f (x k )。
构造插值多项式L 10(x ),∑==10010)()(k k k y x l x L 其中,∏≠=--=n k j j j k j k x x x x x l 0)()()(。
取自变量点 t k = – 5 + 0.05k ( k =0,1,…,201),分别计算切比雪夫零点、等距节点插值多项式L k (x )和被插值函数f (x )在离散点t k ( k =0,1,…,201)上的值,并绘出三条曲线比较。
实验环境与器材:9#505机房、《数值分析》实验过程(步骤)或程序代码:function y=Lagrange(x,n,xx,yy)sum=0; %初始化for k=1:n+1lk=1; %初始化for i=1:n+1if k~=ilk=lk*(x-xx(i))/(xx(k)-xx(i));endendsum=lk*yy(k)+sum;endy=sum;clcclearfor i=1:11 %下标只能从1开始x1(i)=-5+10*(i-1)/10;x2(i)=5*cos((2*i-1)*pi/22);y1(i)=1/(1+x1(i)*x1(i));y2(i)=1/(1+x2(i)*x2(i)); %y1,y2分别是在两种节点处得到的函数值endh=0.05;for k=1:202x3(k)=-5+(k-1)*h;y11(k)=Lagrange(x3(k),10,x1,y1);y22(k)=Lagrange(x3(k),10,x2,y2);y(k)=1/(1+x3(k)*x3(k));%y11,y22分别为利用切比雪夫零点和等距节点构造出的插值多项式在离散点处的值endplot(x3,y11,'r');hold onplot(x3,y22,'g');hold onplot(x3,y,'b')%被插值函数在离散点处值的曲线图hold onxlabel('-5<=x<=5');ylabel('y');legend('f(x)=1/(1+x^2)','等距节点插值多项式','切比雪夫多项式零点插值多项式'); xlim([-5,5])实验结果与分析:分析:由高次插值的病态性质,我们知道次数n太高时会出现龙格现象,即L n(x)并不收敛于f(x),由上图我们也可以看到运用等距节点构造的插值多项式的确出现了龙格现象,因此并不适用。
高等数值分析拉格朗日插值多项式切比雪夫高斯龙格现象复合梯形辛普森求积公式
高等数值分析拉格朗日插值多项式切比雪夫高斯龙格现象复合梯形辛普森求积公式解答:1.拉格朗日插值函数:function y=lagrange (a,b,x)y=0;if length(a)==length(b)n=length(a);else disp('ERROR!length(a)!=length(b)')return;endfor i=1:nk=1;for j=1:nif j~=ik=k.*(x-a(j))/(a(i)-a(j));endendy=y+k*b(i);end2.问题(a):function Q_am=100;n=10;x=-1:2/n:1;y=1./(1+9*x.^2);x0=-1:2/m:1;y0=lagrange(x,y,x0);y1=1./(1+9*x0.^2);plot(x0,y0,'--r');hold on;plot(x0,y1,'-b');end3.问题(b):function Q_bm=100;n=10;x=zeros(1,n+1);for i=1:n+1x(i)=cos((2*i-1)*pi/(2*n+2)); endy=1./(1+9*x.^2);x0=-1:2/m:1;y0=lagrange(x,y,x0);y1=1./(1+9*x0.^2);plot(x0,y0,'--r');hold on;plot(x0,y1,'-b');end4.问题(c):main.m(m文件)figure(1)Q_a()figure(2)Q_b()syms xy=1/(1+9*x^2);I0=int(y,-1,1);%准确值n=10;x=-1:2/n:1;y=1./(1+9*x.^2);I1=trapz(x,y);%复合梯形x0=zeros(1,n);for i=1:nx0(i)=(x(i)+x(i+1))/2;endy0=2/n*1./(1+9*x0.^2);I2=I1/3+2*sum(y0)/3;%复合辛普森x1=[-0.5384693101 0.5384693101 -0.9061798459 0.9061798459 0];y1=1./(1+9*x1.^2);A=[0.4786286705 0.4786286705 0.2369268851 0.2369268851 0.5688888889]; I3=y1*A'; %高斯5总结:(1).使用等距节点构造的高次拉格朗日插值多项式在正负1附件,插值值与真实值偏差非常大,存在较大的震荡。
第三章(二) 埃尔米特-样条插值法
2
x x1 x x 0 h1 ( x ) 1 2 x x . x1 x 0 1 0
2
设
x x1 g 0 (x) a(x x0 ) , x 0 x1
2
∵g0(x0)=g0(x1)=0, g'0(x1)=0
据用得越多越好,解决这一矛盾的办法就是改用分段低次插值。
所谓分段低次插值就是用分段多项式来代替单个高阶多项式
作插值,即先把整个插值区间分成若干个小区间,然后在每个子 区间上分别用低次插值多项式(如线性插值或抛物线插值等), 然后再将每个子区间上的插值函数拼接在一起,作为整个插值区 间上的插值函数。
• 分段线性插值
2
2
x x1 x x 0 h1 ( x ) 1 2 . x1 x 0 x1 x 0
2
2
x x1 x x0 g 0 (x) (x x0 ) , ( x ) ( x x1 ) g1 . x 0 x1 x1 x 0
, [ 1,1]. 0 ( x ) ? x L1
将[−1,1]10等分,步长 h = 2/10 = 0.2, 取节点 xi = −1 + 0.2i, i =
0,1,2,…,10。以 (xi, f(xi))为插值点,构造L10(x):
L1 0 ( x )
) f ( x i ) li ( x )
先构造 h0(x), 设
由h0(x0) = 1,
x x1 h0 ( x ) (a bx ) . x 0 x1
2
∵h0(x1)=h'0(x1)=0
龙格现象
3. 多项式插值的龙格现象考虑在一个固定的区间上用插值逼近一个函数。
显然,拉格朗日插值中使用的节点越多,插值多项式的次数就越高,自然关心插值多项式的次数增加时,()n L x 是否也更加靠近被逼近的函数。
龙格给出的一个例子是极著名并富有启发性的。
设在区间[]1,1-上的函数为:()21125f x x =+,考虑区间[]1,1-的一个等距划分,分点为:21,0,1,2,,iix i nn=-+=则拉格朗日插值多项式为: ()()201125nn i i iL x l x x ==+∑ 其中(),0,1,2,i l x i n =是n 次拉格朗日插值基函数。
要求:(1)选择不断增大的分点数目2,3,n =画出原函数()f x 及插值多项式函数()n L x 在区间[]1,1-的图像,比较并分析实验结果。
解:算法为function lagrangeinterp% graphs of different 'n' clear all;clc x=-1:.01:1;y=1./(1+25.*x.^2); plot(x,y,'-') hold onn=input('n='); x=-1:2/n:1;y=1./(1+25.*x.^2); u=-1:.01:1;v=lagrange(x,y,u);function v = lagrange(x,y,u) % algorithm of lagrange n = length(x); v = zeros(size(u)); for k = 1:nw = ones(size(u)); for j = [1:k-1 k+1:n]w = (u-x(j))./(x(k)-x(j)).*w; endv = v + w*y(k); endplot(x,y,'o',u,v,'--') hold off当选定为2等分时:当选定为3等分时:当选定为5等分时:当选定为10等分时:当选定为15等分时:由上述五个图形可得:在一定范围内,拉格朗日插值中使用的节点越多,插值多项式的L x也更加靠近被逼近的函数,插值节点但并不是越多越好,当超过某一次数就越高,()n值后,就会在端点处出现龙格现象,而且节点越多,龙格现象越严重。
matlab中曲线拟合所用到的多项式逼近的表达式
Matlab中曲线拟合所用到的多项式逼近的表达式在Matlab中,曲线拟合是一种常见的数据分析方法,它可以用于找到一组数据点的最佳拟合曲线,从而帮助我们理解数据之间的关系并预测未来的趋势。
而多项式逼近则是曲线拟合中常用的方法之一,它通过一组多项式函数来拟合数据点,以尽可能地接近真实的数据分布。
本文将深入探讨在Matlab中曲线拟合所用到的多项式逼近的表达式,希望能够帮助读者更深入地理解这一主题。
1. 多项式逼近的基本原理多项式逼近是一种通过多项式函数来逼近已知函数的方法。
其基本原理是利用多项式函数的线性组合来近似表示已知函数,通过控制多项式的次数和系数,使得多项式函数能够在一定的范围内最大限度地接近已知函数。
在Matlab中,可以使用polyfit函数来实现多项式逼近,该函数可以根据给定的数据点和多项式次数,计算出最佳的多项式拟合曲线。
2. Matlab中的多项式逼近函数在Matlab中,多项式逼近主要是通过polyfit和polyval这两个函数来实现的。
其中,polyfit函数用于拟合数据点,得到最佳的多项式系数,而polyval函数则用于根据已知的多项式系数和自变量的取值,计算出对应的因变量值。
可以通过如下的代码来实现对一组数据点的多项式拟合:```matlabx = [1, 2, 3, 4, 5];y = [1, 4, 9, 16, 25];n = 2;p = polyfit(x, y, n);```在这段代码中,x和y分别代表已知的数据点,n代表多项式的次数,polyfit函数将会返回多项式的系数p,然后可以使用polyval函数来计算对应自变量值下的因变量值。
3. 多项式逼近的局限性和注意事项虽然多项式逼近是一种常用的曲线拟合方法,但它也有一定的局限性。
多项式逼近要求选择合适的多项式次数,如果次数选择不当,可能会导致过拟合或欠拟合的问题。
在拟合非线性数据时,多项式逼近的效果可能并不理想,这时需要考虑其他曲线拟合方法。
数值分析复习题
一、判断题1. 区间[a,b]上,若f(a)f(b)<0,则方程f(x)=0在[a,b]内一定有实根。
2. 22/7作为π=3.1415926……近似值,它有3位有效数字。
3. 设P(x)和Q(x)都是n 次多项式,如果在n +1 个不同的节点x i 上都有P(x i )=Q(x i ),则P(x)≡Q(x) 。
4. 取节点01231, 0, 2 ,4x x x x =-===作2()f x x =的插值多项式()p x ,则()p x 次数为2,插值基函数的次数为3。
5. 插值多项式严格通过所有的节点(x i ,y i )。
6. 若k<=n ,P(x)和Q(x)分别是 x k的通过n +1 个不同的节点的牛顿插值多项式和拉格朗日插值多项式则P(x)≡Q(x)≡x k。
7. 插值多项式次数越高,逼近效果越好。
8. 任何一组互异数据,逼近它们的多项式插值函数仅有一个。
9. 插值多项式次数与拟合曲线都严格通过所给定的数据点。
10. 求积公式:⎰30)(dx x f ≈。
f f f f 是插值型的)]3()2(3)1(3)0([83+++11. 牛顿-科特斯求积公式中的求积节点是等分的。
12. 牛顿法求方程ƒ(x)=0的单根, 在ƒ(x)可导的情况下, 至少二阶收敛。
13. 高斯型求积公式是插值型的。
14. 一阶亚当姆斯格式是单步法。
15. 显式的亚当姆斯公式:+-=+-()n n n n h y y f f 1132是单步法。
16. 求初值问题数值解的四阶亚当姆斯公式是多步法。
17. 如果有一常微分方程数值解法的局部截断误差3111()()n n n T y x y O h +++=-=,则该方法是3阶的。
18. 用一般迭代法求方程()0f x =的根,如其迭代过程()1k k x x ϕ+=发散,则方程()0f x = 的无解。
19. 牛顿法求方程ƒ(x)=0的根, 在ƒ(x)可导的情况下, 至少二阶收敛。
龙格现象难题破解之系数与阶次双确定方法
2013, 49 (3)
Computer Engineering and Applications 计算机工程与应用
龙格现象难题破解之系数与阶次双确定方法
张雨浓, 李名鸣, 陈锦浩, 劳稳超, 吴华荣
ZHANG Yunong, LI Mingming, CHEN Jinhao, LAO Wenchao, WU Huarong
1
引言
在数值方法领域中, 经常需要利用插值对某一函数进
出, 对于龙格函数, 在区间 [ - 1 1] 内, 选取等距插值点, 利 用插值多项式进行逼近时, 其逼近多项式在逼近区间两端 会产生振荡, 且插值多项式的阶次越高, 其振荡现象越严 重, 从而造成较大的逼近误差。因此, 一般认为, 龙格函数 不适宜利用基于等距节点的高阶多项式进行逼近。 为了良好地逼近龙格函数, 解决龙格现象, 通常使用 切比雪夫节点 [10] 代替等距插值点, 使逼近误差随插值多项 式的阶次的增大而减少。但由于统计与科学分析中采集 的数据点一般都是等间距的 (如等时间间距采样得到的数 据) , 采集变间距的切比雪夫节点数据将会增加实际操作 的难度。另外, 也可以使用分段样条插值 [11] 代替多项式插 值, 利用分区间的低阶多项式对龙格函数进行良好的逼近。 区别于以上采用变间距的切比雪夫节点或分区间低 阶的分段样条插值的方法, 基于人工神经网络的最新研究
中山大学 信息科学与技术学院, 广州 510006 School of Information Science and Technology, Sun Yat-sen University, Guangzhou 510006, China ZHANG Yunong, LI Mingming, CHEN Jinhao, et al. Solving the problem of Runge phenomenon by coefficients-and-orderdetermination method. Computer Engineering and Applications, 2013, 49 (3) : 44-49. Abstract:The Runge phenomenon demonstrates that it is not suitable to use high-order interpolation polynomials with equidistant nodes to approximate the Runge function, as oscillation occurs near the ends of the interpolation interval. Nevertheless, this paper presents an innovative method called Coefficients-And-Order-Determination (CAOD)method to solve the problem of the Runge phenomenon. This method can efficiently determine the coefficients and the order of the optimal polynomial that approximates the target function. By such a CAOD method, high-order optimal polynomials are constructed for different numbers of equidistant nodes, which all approximate the Runge function without causing oscillation. Thus, such constructed optimal polynomials can achieve high approximation accuracy (i.e., eliminate the Runge phenomenon) . Numerical experiment results further substantiate the efficacy and accuracy of the CAOD method. Key words:Runge phenomenon; function approximation; equidistant nodes; high-order polynomials; Coefficients-And-OrderDetermination (CAOD)method 摘 要: 龙格现象指出, 使用基于等距节点的高阶插值多项式逼近龙格函数时, 插值多项式在逼近区间两端会产生明显的
精密星历插值中龙格现象处理策略
f ( ) = 兀
3 龙格 现象 处理策 略
, ≠
( 2 )
为了减弱 和 消除精 密 星历插 值 中龙 格现 象 的影 响, 提高插值 的精 度和可 靠性 , 分 别采用 阶次 组合 、 增
加星历 和先外推后插值三种方法进行精密星历插值 。 ( 1 ) 阶次 组合 法 : 阶 次 组合 法 是 指 对 不 同位 置
1 引 言
产 的精 密 星历 的事 后 星历 精 度则 优 于 5 c m。I G S是
一
个 非军 方 的国 际协 作 组织 , 其 开放 度 也 较 高 。因
在 高精 度 G P S数据 处 理 中 , 为 了保证 结 果 的可 靠 性 和精确 性 , 通 常使 用 I G S提 供 的精 密卫 星 星 历 进行计 算 。 由于实际 作业 时 I G S提供 的星历 时 间间 隔都 大于观 测数 据 的 采样 间隔 , 使 用 时需 要 对 精 密 卫 星 星历进 行插 值 处 理来 满 足 计 算 的需 求 , 以得 到 观测 历元 时刻所 需 要 的卫 星位 置 , 提 高精 密 单 点 定
插值 是通 过构造 已知值 与未知值 之 间的多项 式 关 系来计 算未 知值 的数学 方法 。常用 的插 值方 法包 括 拉格 朗 日多项式插 值法 、 内维尔插 值法 、 牛顿 插值
法、 三次 样条 插值法 、 三 角多项 式插 值法 和切 比雪夫
n + 1 个点之间的任意位置的函数值 J 。
位 的精度 。
此, 精 密单 点定位 中通 常采用 I G S提供 的精 密星历 , 给出 1 5 mi n等 时 间间隔 点上 的卫 星 坐标 数据 , 坐 标 参考 基准 属于 I T F参 考框 架 。
龙格现象
差值里的龙格现象实验临床八年1004张馨予2204100412 一.实验任务:由书上例子2.2和2.3表明适当的提高多项式的次数,有可能提高插值的精度,但是绝对不可能由此认为插值多项的次数越高越好。
此次试验的任务便是验证差值多项式里的龙格现象。
二.算法设计:对函数f(x)=1/(1+25*x*x),(-1<=x<=1).先以xi=-1+2/5i(i=0,1,2,…,5)为节点做五次插值多项式P5(x),再以xi=-1+1/5i(i=0,1,…,10)为节点做十次插值多项式P10(x),并将曲线f(x)=1/(1+25*x*x),y=P5(x),y=P10(x),在区间[-1,1]上,描绘在同一个坐标系。
程序设计,对于插值法,首先计算lagrange差值基本函数lk(x)。
再写出满足差值条件的n次插值多项式Ln(x)=yl(x)的总和。
三.计算机程序:1.求5个点对应y值的m文件function y=flongge2x=-1:0.4:1for i=1:length(x)y(i)=1/(1+25*x(i)*x(i));enddisp(y)2.求10个点对应y值的函数文件function y=flongge2x=-1:0.2:1for i=1:length(x)y(i)=1/(1+25*x(i)*x(i));enddisp(y)3. 差值里的龙格现象function f=Language(x,y,x0)syms t;if(length(x)==length(y))n=length(x);elsedisp('xand y are not of the same demision');return;endf=0.0;for(i=1:n)l=y(i);for(j=1:i-1)l=l*(t-x(j))/(x(i)-x(j));end;for(j=i+1:n)l=l*(t-x(j))/(x(i)-x(j));end;f=f+l;f=simplify(f);if(i==n)if(nargin==3)f=subs(f,'t',x0)elsef=collect(f);f=vpa(f,6);endendend并在命令编辑器里输入x y 矩阵,以及f=Language(x,y)4.龙格总图的m文件functiontu=longgezongtufplot('-220.940*t^10+494.907*t^8-381.433*t^6+123.360*t^4-16.8552*t^2+1.',[-1,1] ),holdon;fplot('1/(1+25*x*x)',[-1,1]), hold on;fplot('1.20199*t^4-1.73079*t^2+.567309',[-1,1],1e-4),grid四.调试以及运行结果1.在命令编辑器里输入flongge2,得到十个点的对应y值:(截的图)2.输入f,得到五个点对应的y值:3.在命令编辑器里输入x矩阵,和y矩阵,以及f=Language(x,y),就会得到对应的两个差值公式:y=-220.940*t^10+494.907*t^8-381.433*t^6+123.360*t^4-16.8552*t^2+1.y=1.20199*t^4-1.73079*t^2+.567309根据这两个公式编出可以输出图的程序。
拉格朗日插值运算
用MATLAB 实现拉格朗日插值实验题目:高次插值的龙格现象。
目的:观察高次插值的震荡现象-龙格现象。
内容:22511)(x x f += ]1,1[-∈x 。
做5次,10次,20次的拉格朗日插值多项式,)(5X L ,)(10X L ,)(20X L 。
将)(x f ,)(5X L ,)(10X L ,)(20X L ,的图像画在同一坐标下,观察高次插值的震荡现象。
1. 实验步骤及运行结果(1)插值节点的计算,将程序保存在f.m 文件中,程序如下:function y=f(x)y=1./(25.*x.^2+1)运行f.m 文件,执行命令:x=[-1:0.1:1] f(x) 输出结果为:(2)定义拉格朗日插值函数:将其保存在Lagrange.m 文件中,具体程序如下:function f=Lagrange(x,fx,inx) n=length(x);m=length(inx); for i=1:m; z=inx(i); s=0.0; for k=1:n p=1.0; for j=1:n if j~=kp=p*(z-x(j))/(x(k)-x(j)); end ends=p*fx(k)+s; endf(i)=s; endx0=-1:0.001:1;y0=(1+25.*x0.^2).^-1plot(x0,y0,'r',x,fx,'O',inx,f)1)运行程序执行命令: X=[-1:0.4:1]fx=[0.0385 0.1000 0.5000 0.5000 0.1000 0.0385] xi=[-1:0.001:1] Lagrange(x,fx,xi)得出)(x f ,)(5X L 在同一坐标系的图像:2)运行程序执行命令:X=[-1:0.2:1]fx=[0.0385 0.0588 0.1000 0.2000 0.5000 1 0.5000 0.2000 0.1000 0.0588 0.0385]xi=[-1:0.001:1] Lagrange(x,fx,xi)得出)(x f ,)(10X L 在同一坐标系的图像:3)运行程序执行命令:X=[-1:0.1:1]fx=[0.0385 0.0471 0.0588 0.0755 0.1000 0.1379 0.2000 0.3077 0.5000 0.8000 1 0.8000 0.5000 0.3077 0.2000 0.1379 0.1000 0.0755 0.0588 0.0471 0.0385] xi=[-1:0.001:1] Lagrange(x,fx,xi)得出)(x f ,)(20X L 在同一坐标系的图像:。
龙格现象结论
龙格现象结论龙格现象是指在数值计算中,由于数值误差的积累,计算结果与真实结果之间的误差会随着步长的增加而不断增大的现象。
这一现象在科学计算中具有重要的意义,需要我们认真对待和解决。
龙格现象的出现是由于数值计算过程中的截断误差和舍入误差的积累所致。
在数值计算中,我们往往需要将连续的数学问题转化为离散的数值计算问题,通过有限的计算步骤来近似求解。
然而,由于计算机的存储和计算能力是有限的,无法处理无穷小和无穷大的数值。
因此,在计算过程中,我们不得不进行截断和舍入操作,从而引入了误差。
在数值计算中,我们通常使用一些数值方法来近似求解数学问题,如数值积分、数值微分和常微分方程的数值解等。
这些数值方法本质上都是基于一些数值逼近和插值的原理。
而在这些数值方法中,步长的选择是非常重要的。
步长过大会导致精度降低,步长过小则会增加计算的复杂性。
而龙格现象则是指当步长过大时,数值误差的积累会导致计算结果的不准确性。
为了更好地理解龙格现象,我们可以通过一个简单的例子来说明。
假设我们要计算一个函数的积分,我们可以使用数值积分的方法来近似求解。
首先,我们将积分区间等分为若干小区间,然后通过插值方法来近似计算每个小区间的积分。
当步长较小时,插值近似的误差也较小,计算结果较为准确。
但当步长增大时,插值近似的误差也会随之增大,最终导致计算结果的不准确。
针对龙格现象,我们可以通过一些方法来减小误差和提高计算精度。
首先,我们可以选择合适的数值方法和步长,以平衡计算精度和计算复杂性。
其次,我们可以使用高精度的数值计算库或算法,以减小舍入误差。
此外,我们还可以结合数值计算和符号计算的方法,以提高计算精度和可靠性。
龙格现象是数值计算中不可忽视的问题,它提醒我们在进行数值计算时要谨慎选择步长和数值方法,以保证计算结果的准确性。
同时,我们也需要不断研究和改进数值计算的方法和算法,以提高计算精度和可靠性,为科学计算提供更加准确和可靠的结果。
龙格现象matlab程序
龙格现象matlab程序龙格现象(Runge's Phenomenon)是数值分析中的一个现象,指的是在使用等距节点进行插值时,当节点数量增多时,插值多项式会出现振荡的现象。
这个现象最早由德国数学家卡尔·龙格(Carl Runge)于1901年发现,因此得名。
龙格现象的产生是由于等距节点在插值中的特殊性质导致的。
在等距节点插值中,节点的间距是相等的,例如在区间[-1,1]上选择n 个等距节点。
利用这些节点进行插值,我们可以得到一个n次多项式来拟合所给的函数。
然而,当n增大时,插值多项式在区间的两个端点附近会出现振荡现象,即多项式值在两个端点附近迅速增大然后迅速减小,最终达到函数值的波动。
为了更好地理解龙格现象,我们可以通过一个简单的例子来说明。
考虑函数f(x)=1/(1+25x^2),我们在区间[-1,1]上选择不同数量的等距节点进行插值。
首先,选择5个等距节点进行插值,得到插值多项式P5(x)。
在图表中我们可以观察到,P5(x)在区间的两个端点附近出现了振荡现象。
随着节点数量的增加,振荡现象变得更加明显。
当节点数量增加到10时,插值多项式P10(x)的振荡现象更加明显。
这说明了龙格现象的存在。
为了解决龙格现象,我们可以采用非等距节点进行插值。
非等距节点插值可以通过使用更加合适的节点分布来减小振荡现象。
例如,在区间[-1,1]上使用Chebyshev节点进行插值可以有效地减小龙格现象的影响。
龙格现象在实际应用中具有重要的意义。
在数值计算中,我们经常需要使用插值来近似函数值。
如果不了解龙格现象,仅仅选择等距节点进行插值可能会导致误差的增大。
因此,了解龙格现象的存在和原因对于选择合适的插值方法具有重要的指导意义。
龙格现象是等距节点插值中的一个振荡现象,会导致插值多项式在区间的两个端点附近出现振荡。
为了解决龙格现象,可以采用非等距节点进行插值。
了解龙格现象的存在和原因对于数值计算具有重要的指导意义。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
在计算方法中,有利用多项式对某一函数的近似逼近,这样,利用多项式就可以 计算相应的函数值。例如,在事先不知道某一函数的具体形式的情况下,只能测 量得知某一些分散的函数值。例如我们不知道气温随日期变化的具体函数关系, 但是我们可以测量一些孤立的日期的气温值,并假定此气温随日期变化的函数满 足某一多项式。这样,利用已经测的数据,应用待定系数法便可以求得一个多项 式函数 f(x)。应用此函数就可以计算或者说预测其他日期的气温值。一般情 况下,多项式的次数越多,需要的数据就越多,而预测也就越准确。 例外发生了:龙格在研究多项式插值的时候,发现有的情况下,并非取节点(日 期数)越多多项式就越精确。著名的例子是 f(x)=1/(1+25x^2).它的插值函数 在两个端点处发生剧烈的波动,造成较大的误差。究其原因,是舍入误差造成的。 具体的情况可参考下列 Mathematica 程序: n = 10; x = Range[-1, 1, 2/n]; y = 1./(1 + 25 x^2); p = Transpose[{x, y}]; Clear[t]; f = LagrangeInterpolation[x, y, t]; Show[ Plot[{1./(1 + 25 t^2), f}, {t, -1, 1}], ListPlot[p, PlotStyle -> PointSize[0.02]] ] 程序演示 Matlab 程序演示 (一) 代码 >> f=inline('1/6-y/30','t','y'); [t,y]=ode45(f,[0,5],[0]); plot(t,y) >> hold on plot(t,5-5*exp(-t/30面是 MATLAB 中演示插值的 M 文件: %演示龙格函数的插值情况 for i=3:2:11
x=linspace(-1,1,i); y=1./(1+25*x.^2); p=polyfit(x,y,i-1); xx=-1:0.01:1; yy=polyval(p,xx); plot(xx,yy,'b'); hold on; grid on; end; plot(x,1./(1+25*x.^2),'r'); 运行效果如右图
龙格函数(1 张) 图中红色的才是真正的函数图形。一般吧这种次数越高而插值结果越偏离原函数 的现象称为龙格现象。所以在不熟悉曲线运动趋势的前提下,不要轻易使用高次 插值。