数值分析实验报告2——Runge现象
- 格式:docx
- 大小:140.72 KB
- 文档页数:9
最小二乘法数值分析实验报告最小二乘法数值分析实验报告篇一:数值分析+最小二乘法实验报告数学与信息工程学院实课程名称:实验室:实验台号:班级:姓名:实验日期:验报告数值分析 201X年 4 月 13日篇二:数值分析上机实验最小二乘法数值分析实验报告五最小二乘法一、题目设有如下数据用三次多项式拟合这组数据,并绘出图形。
二、方法最小二乘法三、程序M文件:sy ms x f; xx=input( 请输入插值节点 as [x1,x2...]\n ff=i nput( 请输入插值节点处对应的函数值 as [f1,f 2...]\n m=input(请输入要求的插值次数m= n=leng th(xx); fr i=1:(m+1) syms faix; fai=x^(i-1); fr j=1:n x=xx(j);H(i,j)=eval(fai); end endA=ff*(H) *inv(H*(H) syms x; f=0; fr i=1:(m+1) f=f+A(i)*x^(i-1); end f plt(xx,ff, * ) hldnezplt(f,[xx(1),xx(n)])四、结果 sav e and run之后:请输入插值节点 as [x1,x2...] [-3 -2-1 0 1 2 3] 请输入插值节点处对应的函数值 as[f1,f2...] [-1.76 0.42 1.21.341.432.254.38]请输入要求的插值次数m=3 f =133/100+121469856021/35184372088832*x-8042142191733/450359 9627370496*x^2+1020815915537309/9007199254740992*x^3五、拓展:最小二乘法计算方法比较简单,是实际中常用的一种方法,但是必须经计算机来实现,如果要保证精度则需要对大量数据进行拟合,计算量很大。
数值分析实验实验报告数值分析实验实验报告一、引言数值分析是一门研究如何利用计算机对数学问题进行数值计算和模拟的学科。
在实际应用中,数值分析广泛应用于工程、物理、金融等领域。
本实验旨在通过实际操作,探索数值分析方法在实际问题中的应用,并通过实验结果对比和分析,验证数值分析方法的有效性和可靠性。
二、实验目的本实验的主要目的是通过数值分析方法,解决一个实际问题,并对比不同方法的结果,评估其准确性和效率。
具体来说,我们将使用牛顿插值法和拉格朗日插值法对一组给定的数据进行插值,并对比两种方法的结果。
三、实验步骤1. 收集实验数据:我们首先需要收集一组实验数据,这些数据可以来自实验测量、调查问卷等方式。
在本实验中,我们假设已经获得了一组数据,包括自变量x和因变量y。
2. 牛顿插值法:牛顿插值法是一种基于差商的插值方法。
我们可以通过给定的数据点,构造一个插值多项式,并利用该多项式对其他点进行插值计算。
具体的计算步骤可以参考数值分析教材。
3. 拉格朗日插值法:拉格朗日插值法是另一种常用的插值方法。
它通过构造一个满足给定数据点的多项式,利用该多项式对其他点进行插值计算。
具体的计算步骤也可以参考数值分析教材。
4. 结果比较与分析:在完成牛顿插值法和拉格朗日插值法的计算后,我们将比较两种方法的结果,并进行分析。
主要考虑的因素包括插值误差、计算效率等。
四、实验结果在本实验中,我们选取了一组数据进行插值计算,并得到了牛顿插值法和拉格朗日插值法的结果。
经过比较和分析,我们得出以下结论:1. 插值误差:通过计算插值点与实际数据点之间的差值,我们可以评估插值方法的准确性。
在本实验中,我们发现牛顿插值法和拉格朗日插值法的插值误差都较小,但是拉格朗日插值法的误差稍大一些。
2. 计算效率:计算效率是衡量数值分析方法的重要指标之一。
在本实验中,我们发现牛顿插值法的计算速度较快,而拉格朗日插值法的计算速度稍慢。
五、实验结论通过本实验,我们对数值分析方法在实际问题中的应用有了更深入的了解。
数值分析实验题和程序实验2.1 多项式插值的振荡现象问题提出:考虑在一个固定的区间上用插值逼近一个函数。
显然Lagrange 插值中使用的节点越多,插值多项式的次数就越高。
我们自然关心插值多项的次数增加时,()n L x 是否也更加靠近被逼近的函数。
Runge 给出的一个例子是极著名并富有启发性的。
设区间[-1,1]上函数21()125f x x=+实验内容:考虑区间[-1,1]的一个等距划分,分点为21,0,1,2,,i i x i n n =-+=则拉格朗日插值多项式为201()()125nn i i iL x l x x==+∑其中,(),0,1,2,,i l x i n = 是n 次Lagrange 插值基函数。
实验要求:(1)选择不断增大的分点数目2,3,n = 画出原函数()f x 及插值多项式函数()n L x 在[-1,1]上的图像,比较并分析实验结果。
(2)选择其他的函数,例如定义在区间[-5,5]上的函数4(),()arctan 1x h x g x x x==+重复上述的实验,看其结果如何。
1、实验MATLAB 程序function charpt2_1%数值实验2.1:多项式插值的震荡现象%输入:函数式选择,插值节点数%输出:拟合函数及原函数的图形promps={'选择实验函数,若选f(x),输入f,若选h(x),输入h,若选g(x),输入g:'};result=inputdlg(promps,'charpt2_1',1,{'f'});Nb_f=char(result);if(Nb_f~='f' & Nb_f~='h' & Nb_f~='g')errordlg('实验函数选择错误!'); return;endresult=inputdlg({'请输入第一幅图插值节点数N>=2:'},'charpt2_1',1,{'2'}); Nd0=str2num(char(result));if(Nd0<2)errordlg('节点数输入错误!'); return;endresult=inputdlg({'请输入两幅图间插值节点数差值D:'},'charpt2_1',1,{'1'}); D=str2num(char(result));switch Nb_fcase'f'f=inline('1./(1+25*x.^2)');a=-1;b=1;case'h'f=inline('x./(1+x.^4)');a=-5;b=5;case'g'f=inline('atan(x)');a=-5;b=5;endfor i=1:6Nd=Nd0+(i-1).*D;x0=linspace(a,b,Nd+1);y0=feval(f,x0);x=a:0.01:b;y=Lagrange(x0,y0,x);subplot(2,3,i);plot(x0,y0,'*');hold on;fplot(f,[a,b],'k');hold on;plot(x,y,'b--');s1='x (节点数N=';s2=num2str(Nd);s3=')';s=[s1 s2 s3];xlabel(s);ylabel('y=f(x) - and y=Ln(x)--');end%Lagrange插值函数function y=Lagrange(x0,y0,x)n=length(x0);m=length(x);for i=1:mz=x(i);s=0.0;for k=1:np=1.0;for j=1:nif(j~=k)p=p*(z-x0(j))/(x0(k)-x0(j));endends=s+p*y0(k);endy(i)=s;end2、实验结果对于函数f(x),当选择的分点数目不断增大时,得到的拟合插值多项式函数图形如图1-1和图1-2所示。
实验名称:龙格反例的数值实验实验目的与要求: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.不同的迭代法计算根,并比较收敛性。
2.选定不同的初始值,比较收敛性.实验原理:各个迭代法简述二分法:取有根区间的重点,确定新的有根区间的区间长度仅为区间长度的一版。
对压缩了的有根区间重复以上过程,又得到新的有根区间,其区间长度为的一半,如此反复,……,可得一系列有根区间,区间收敛到一个点即为根。
牛顿迭代法:不动点迭代法的一种特例,具有局部二次收敛的特性。
迭代格式为割线法:是牛顿法的改进,具有超线性收敛的特性,收敛阶为1。
618. 迭代格式为史蒂芬森迭代法:采用不动点迭代进行预估校正。
至少是平方收敛的。
迭代格式为这里可采用牛顿迭代法的迭代函数。
实验内容:1.写出该问题的函数代码如下:function py= f(x)syms k;y=(k^2+1)*(k—1)^5;yy=diff(y,k);py(1)=subs(y,k,x);py(2)=subs(yy,k,x);end2.分别写出各个迭代法的迭代函数代码如下:二分法:function y=dichotomie(a,b,e)i=2;m(1)=a;while abs(a-b)〉et=(a+b)/2;s1=f(a);s2=f(b);s3=f(t);if s1(1)*s3(1)<=0b=t;elsea=t;endm(i)=t;i=i+1;endy=[t,i+1,m];end牛顿迭代法:function y=NewtonIterative(x,e)i=2;en=2*e;m(1)=x;while abs(en)〉=es=f(x);t=x—s(1)/s(2);en=t—x;x=t;m(i)=t;i=i+1;endy=[x,i+1,m];end牛顿割线法:function y=Secant(x1,x2,e)i=3;m(1)=x1,m(2)=x2;while abs(x2—x1)〉=es1=f(x1);s2=f(x2);t=x2—(x2—x1)*s2(1)/(s2(1)—s1(1));x1=x2;x2=t;m(i)=t;i=i+1;endy=[x2,i+1,m];end史蒂芬森迭代法:Function p=StephensonIterative(x,e)i=2;m(2)=x;en=2*e;while abs(en)〉=ey=fai(x);z=fai(y);t=x—(y-x)^2/(z—2*y+x); en=t-x;x=t;m(i)=t;i=i+1;endp=[x,i+1,m];end3.因为经常被使用,故可以写一个函数。
贵州师范大学数学与计算机科学学院学生实验报告课程名称: 数值分析 班级: 实验日期: 2011年10月22日 学 号: 姓名: 指导教师:实验成绩:一、实验名称实验二: Lagrange 插值与曲线拟合的最小二乘法二、实验目的及要求1. 掌握Lagrange 插值的基本思路和步骤.2. 掌握最小二乘法的基本思路和拟合步骤.3. 培养Matlab 编程与上机调试能力.三、实验环境每人一台计算机,要求安装Windows XP 操作系统,Microsoft office2003、MATLAB6.5(或7.0).四、实验内容1. 对函数21()1f x x =+在区间[-5,5]内选取n+1个的等距插值节点,取不同的n,作n 次Lagrange 插值,将对应的插值多项式图像与被插值函数21()1f x x=+画在同一张图上进行比较.2.给定数据点i x -3 -1 0 1 3 5 i y -6 -3 -1 0 1 3分别用一次,二次和三次多项式曲线,以最小二乘法拟合这些数据点,哪一种曲线拟合较好?为什么?能找出更好的拟合曲线吗?五、算法描述及实验步骤1.(1)分别画出原函数图像与Lagrange 多项式插值图像进行比较。
(2)实验步骤:a.编写Lagrange 插值M 文件;b.画出原函数图像;c.调用Lagrange 插值取n=10画拟合图像;d.比较观察两个图像。
2.(1)利用最小二乘法对给定数据点分别画一次,二次和三次多项式拟合曲线。
(2)实验步骤:a.输入数据点;b.建立一个划分为四个部分的图像窗口;c.画一次多项式拟合图像在第一部分;d.画二次多项式拟合图像在第二部分;e.画三次多项式拟合图像在第三部分。
六、调试过程及实验结果七、总结1、从图像可以看出用lagrange插值函数拟合数据中间拟合的很好,但两边与原函数图象相比波动太大,逼近效果很差,出现所谓的Runge现象。
2、从图像可以看出用最小二乘法去拟合较少的数据点,曲线拟合比直线拟合得好,高次的会比低次的拟合得好。
实验报告——四级四阶Runge-Kutta 公式1110500158 刘雪婷一 实验问题从上一个报告中知Euler 法和梯形法是最简单的求解常微分方程离散点值的方法。
但这两种方法的精确度都比较低。
在解微分方程的时候为了使精度更高,我们使用了Taylor 级数法,通过增加展开项数来提高方法的阶。
但是,这种方法计算量大,所以我们用一种间接使用Taylor 展开式来获取高阶的方法。
这种方法就是Runge-Kutta 法,既可以减少计算量,又可以提高精度。
二 实验方法{ du dt =ℱ(t,u)u (t 0)=u 0* 对*式左右两边积分,得到: u (t n+1)−u (t n )=∫ℱ(t,u(t))dt t n+1t n 积分中值定理1 ⇒ h ℱ(t n +θh,u(t n +θh))我们用[t n ,t n+1]中若干个点的线性组合来近似θ。
u n+1=u (t n )+h ∑ωi k i s i=1#k i =ℱ(t n +hαi ,u (t n )+h ∑βi,j k j i−1j=1) ,i ≥1 k 1=ℱ(t n ,u(t n )) 将#式两边在t n 处Taylor 展开,然后按照h 的幂排列,让同幂的两项系数相等,以此来确定ωi αj βij 。
利用上述方法,我们得到了古典Rung-Kutta 公式(四级四阶): y n+1=y n +h 6(K 1+2K 2+2K 3+K 4)K 1=ℱ(x n ,y n )K 2=ℱ(x n +h 2,y n +h 2K 1 K 3=ℱ(x n +h 2,y n +h 2K 2 K 4=ℱ(x n +h,y n +hK 3 三 初始量{dy dx =x 2−y y (0)=10≤x ≤1 h=0.1四 结论可以看到,RK 方法得到的结果精确到小数点后5位。
五 结论分析当h=0.2时,结果精确到小数点后4位。
当h=0.01时,结果精确到了小数点后9位。
试验2.1 多项式插值的振荡现象实验目的:观察多项式插值的振荡现象,了解多项式的次数与逼近效果的关系。
实验内容:问题提出:考虑在一个固定的区间上用插值逼近一个函数。
显然Lagrange 插值中使用的节点越多,插值多项式的次数就越高。
我们自然关心插值多项式的次数增加时,Ln(x)是否也更加靠近被逼近的函数。
Runge 给出的一个例子是极著名并富有启发性的。
设区间[-1,1]上的函数225x11)x (+=f ,考虑区间[-1,1]上的一个等距划分,分点为n2i 1x i +-=,i=0,1,2,…,n则拉格朗日插值多项式为:)x (l 25x11)x (Ln i ni 2i∑=+=,其中的)x (l i ,i=0,1,2,…,n 是n 次拉格朗日插值基函数。
实验要求:1、选择不断增大的分点数目n=2,3,………,画出原函数)x (f 及插值多项式函数)x (Ln 在[-1,1]上的图像,比较并分析试验结果。
2、选择其他的函数,例如定义在区间[-5,5]上的函数4()1x h x x=+,()arctan g x x =,重复上述的实验看其结果如何。
实验步骤及结果分析:1、选择不断增大的分点数目n=2,3,4,5,6,7,8,9,10做)x (f 的拉格朗日插值多项式)x (Ln ,并与原函数值做比较,如下图所示。
观察图像可知:n=2,3时插值函数和原函数差别很大,n=4,5,6时插值函数与原函数的逼近程度相对较好,继续增加插值次数n ,插值函数在插值区域的中间部分收敛,而在这区间外是发散的,此外,n=7,9时在插值中间区域逼近效果不好。
因此,适当提高插值多项式次数,可以提高逼近的精度,但是次数太高反而产生相反的效果。
2、选择其他的函数进行插值。
原函数4()1x h x x=+,区间[-5,5],插值结果如下图:观察图像可知:低次插值时,插值效果不好。
n=7,8,9,10时,在区间[-2,2],插值函数与原函数逼近程度好,但在区间外插值函数发散。
数值分析课程实验报告——插值逼近
题目一.Runge函数的插值
1. Runge函数
Runge函数的表达式为:
2
1
()125Rxx
其在[-1,1]区间上的函数图像如图1.1。在课程学习中我们知道,对Runge函数进
行高次插值时有可能在两端出现不收敛的情况,即Runge现象。下面将分别用
四种不同的插值方法在[-1,1]区间上对Runge函数进行插值,并分析是否产生
Runge现象,比较插值效果。
图1.1.Runge函数在[-1,1]区间的函数图像
2.Newton插值
首先根据课本上的Newton插值算法进行编程(代码略)。核心思想就是用
符号变量进行中间运算,以便将最终的插值函数用符号表达式表示出来,并进一
步生成图像。此处插值节点选择为等距插值节点,即:
0.1(0,1,2,,)ixihi…20
其中h=0.1。插值曲线与原曲线的对比如图1.2(蓝色为原曲线,红色为插值曲线)。
从图中看出,在区间中部,二者吻合较好;但在区间两端二者则产生了明显偏差,
甚至可以达到一个非常大的数值(e20量级)。因此,在等距节点的20次Newton
插值下,产生了明显的Runge现象。
图1.2.Newton插值曲线与原曲线对比
3. Lagrange插值
此处同样是根据Lagrange插值的具体算法进行编程。但插值节点不再是等
距分布,而是如下形式:
21cos()(0,1,2,,)42iixi
…20
插值曲线与原曲线的对比如图1.3(蓝色为原曲线,红色为插值曲线)。从图中看
出,插值曲线与原曲线吻合的很好,没有产生明显的Runge现象。对比产生了
明显Runge现象的20次Newton插值,Lagrange插值的最高次数虽然也是20,
但由于此处的插值节点不是等距分布的(事实上,此处采用的插值节点正是
Chebyshev多项式的零点),而是中间疏两边密,因此两侧较密的节点很好地抑
制了Runge现象。
图1.3. Lagrange插值曲线与原曲线对比
4. 分段线性插值
分段线性插值是这几种插值方法中最容易处理的一个,只需要将每个节点对
应的函数值求出再将相邻的数据点两两用直线相连即可。此处采用了等距节点,
所得插值曲线与原曲线对比如图1.4(蓝色为原曲线,红色为插值曲线)。从图中
图1.4. 分段线性插值曲线与原曲线对比
看出,此处分段线性插值的效果也还是不错的,二者只在区间中部略微存在一些
偏差,而在其他区域整体上吻合的很好,并且不存在Runge现象。这是由于分段
线性插值通过对插值区间分段的方法将插值函数的次数有效降低,因而即使是等
距节点分布,也很好地避免了出现Runge现象的倾向。
5. 三次样条插值
三次样条插值是这四种插值方法中编程最麻烦的,但并不是说存在多大的技
术难度,只是因为插值过程中的步骤比较繁琐,因而代码也显得较为冗长。此处
依然采用等距节点,所得插值曲线与原曲线对比如图1.5(蓝色为原曲线,红色
为插值曲线)。从图中看出,三次样条插值的效果比分段线性插值更胜一筹,三
次样条插值曲线和原曲线在整个插值区间都基本处于重合状态,几乎没有肉眼可
见的偏差。同样,由于三次样条插值的插值函数最高次数只有3,在等距节点下
也没有产生Runge现象。
图1.5.三次样条插值曲线与原曲线对比
题目二.分段函数的插值
1. 分段函数
定义在[-1,1]区间的分段函数的函数表达式为:
sin,101()cos,0210,12xxfxxxx
其函数图像如图2.1。分段函数最大的特点就是在个别点上函数值或导数值存在
突变,因此可以预计,除了可能出现的Runge现象外,在那些突变点附近的插
值结果也可能会出现较大的偏差。下面将分别采用之前的四种插值方法在该函数
的[-1,1]定义域内对其进行插值。
图2.1.分段函数图像
2.Newton插值
首先根据课本上的Newton插值算法进行编程。此处插值节点选择为等距插
值节点,即:
0.1(0,1,2,,)ixihi…20
其中h=0.1。插值曲线与原曲线的对比如图2.2(蓝色为原曲线,红色为插值曲线)。
从图中看出,与Newton法对Runge函数的插值结果相比,Newton法对于该分
段函数的插值效果显得更加糟糕:不仅在区间两端产生了极强烈的震荡(即
Runge现象),就连区间中部也存在较小的上下震荡。因此,从整体来看,几乎
所有距插值节点稍远的点都存在较大的偏差,这表明该分段函数在等距节点下的
20次Newton插值效果非常不理想。
图2.2.Newton插值曲线与原曲线对比
3. Lagrange插值
此处同样是根据Lagrange插值的具体算法进行编程。但插值节点不再是等
距分布,而是如下形式:
21cos()(0,1,2,,)42iixi
…20
插值曲线与原曲线的对比如图2.3(蓝色为原曲线,红色为插值曲线)。从图中看
出,与同样次数的Newton法相比,Lagrange法所得的插值曲线虽然在区间中部
的分布与其相似,但在区间两端较好地收敛到了原曲线上,即较好地消除了
Runge现象。这同样是因为此处的插值节点不是等距分布的(事实上,此处采用
的插值节点正是Chebyshev多项式的零点),而是中间疏两边密,因此两侧较密
的节点很好地抑制了Runge现象。
图2.3. Lagrange插值曲线与原曲线对比
4. 分段线性插值
分段线性插值是这几种插值方法中最容易处理的一个,只需要将每个节点对
应的函数值求出再将相邻的数据点两两用直线相连即可。此处采用了等距节点,
图2.4. 分段线性插值曲线与原曲线对比
所得插值曲线与原曲线对比如图2.4(蓝色为原曲线,红色为插值曲线)。从图中
看出,此处分段线性插值的效果较好,二者只在区间中部函数值的突变点附近存
在一些偏差,而在其他区域整体上吻合的很好,不存在Runge现象。这是由于
分段线性插值通过对插值区间分段的方法将插值函数的次数有效降低,因而即使
是等距节点分布,也很好地避免了出现Runge现象的倾向。
5. 三次样条插值
三次样条插值是这四种插值方法中编程最麻烦的,但并不是说存在多大的技
术难度,只是因为插值过程中的步骤比较繁琐,因而代码也显得较为冗长。此处
依然采用等距节点,所得插值曲线与原曲线对比如图2.5(蓝色为原曲线,红色
为插值曲线)。从图中看出,三次样条插值的效果与分段线性插值相近,也是在
区间中部的函数值突变处有一定的偏差,而其他区域都吻合较好,也没有产生
Runge现象。同样,这也是由于三次样条插值的插值函数最高次数只有3,因此
在等距节点下进行插值也没有产生Runge现象。
图2.5.三次样条插值曲线与原曲线对比
三.总结
本文通过matlab编程分别采用Newton插值法、Lagrange插值法、分段线性
插值法以及三次样条插值法对Runge函数和一个分段函数进行了插值逼近,插值
区间[-1,1],插值节点21个,并通过分析计算结果主要得到了以下结论:
1.插值多项式次数过高时会产生严重的Runge现象。本实验中,无论是Runge
函数还是分段函数的20次Newton插值多项式都产生了严重的Runge现象,区
间两端处的插值出现剧烈震荡,严重失真。
2.同样是高次插值多项式,若适当选取插值节点能够在一定程度上抑制
Runge现象。本实验中,Runge函数和分段函数的20次Lagrange插值多项式由
于采用了中间疏两边密的非等距结点,而不是Newton插值多项式所用的等距节
点,有效地抑制或消除了本应出现的Runge现象(这里说“本应出现”是经过计
算验证的,若取等距节点,则20次的Lagrange插值多项式也会出现严重Runge
现象)。
3.降低插值多项式的次数能有效避免Runge现象。本实验中,分段线性插值
法(各区间上均为1次)和三次样条插值法(最高次数为3)都取得了较为理想
的差值逼近效果,没有出现Runge现象,且在整个插值区间都与原函数的图像吻
合的很好。
4.与连续函数相比,存在不连续点的分段函数的插值逼近误差更大,且更加
不稳定。本实验中,对连续的Runge函数进行插值逼近时,除了等距节点的高次
Newton多项式出现严重Runge现象,其余三种方法基本都收敛到了原曲线上,
取得了不错的插值逼近效果;而对分段函数进行插值逼近时,除了等距节点的高
次Newton多项式的逼近效果非常糟糕外(巨大偏差,严重震荡),其余三种方
法虽然没有出现Runge现象,但在不连续点(x=0)的附近区域都存在一定的误
差,整体逼近效果逊色于对连续Runge函数的插值逼近。
综上,在实际运用中,为了取得较好的插值逼近效果,应尽量保证以下几点:
不采用次数过高的插值多项式;适当选取插值节点;避免函数值突变,若不得已
对存在不连续点的函数进行插值逼近,可以尝试分段插值,并将不连续点都处理
到子区间的端点上,从而原函数在各子区间内分段连续,以便提高插值逼近的效
果。