《龙格现象的matlab实现》由会员分享,可在线阅读,更多相关《龙格现象的matlab实现(3页珍藏版)》请在金锄头文库上搜索。
1、利用 MATLAB分析数值积分中的龙格(Runge)现象(1)(2012-12-10 10:44:21) 原文地址: 利用 MATLAB分析数值积分中的龙格(Runge)现象(1)作者:月之幽境实验目的: 观察 Lagrange插值及数值积分中的龙格(Runge)现象。了解数值不稳定现象。实验题目:(1)对于函数 f(x)=1/(1+x2),-4=x=4进行 Lagrange插值。取不同结点数 n,在区间-4,4上取等距间隔的结点为插值点,把 f(x)和插值多项式的曲线画在同一张图上进行比较。(2)利用复化矩形或梯形公式计算 f(x)=1/(1+x2),-4=x=4在定义区间上的数值积分值,说
2、明 Runge现象。(先完成题目(1),题目(2)下次续上。)在同一目录下编制一下的函数:f.m,langrange.m,runge1.m。下面贴出每个文件的内容清单。f.m:function f= f( x )f=1./(1+x.2);endlangrange.m:function langrange= langrange( x,n )langrange=0;xx=linspace(-4,4,n+1);for i=1:n+1lix=1;for j=1:n+1if j=ilix=lix.*(x-xx(j)./(xx(i)-xx(j);endend langrange=f(xx(i).*lix+
3、langrange;endendrunge1.m:function runge1(n)%n为 Langrange差值节点的个数x=linspace(-4,4,100);plot(x,f(x),x,langrange(x,n);end工作目录为上面的文件所在目录,在命令窗口输出一下的命令:subplot(4,4,1),runge1(1),title(1个节点);subplot(4,4,2),runge1(2),title(2个节点);subplot(4,4,3),runge1(3),title(3个节点);subplot(4,4,4),runge1(4),title(4个节点);subplot(
4、4,4,5),runge1(5),title(5个节点);subplot(4,4,6),runge1(6),title(6个节点);subplot(4,4,7),runge1(7),title(7个节点);subplot(4,4,8),runge1(8),title(8个节点);subplot(4,4,9),runge1(9),title(9个节点);subplot(4,4,10),runge1(10),title(10个节点);subplot(4,4,11),runge1(11),title(11个节点);subplot(4,4,12),runge1(12),title(12个节点);subplot(4,4,13),runge1(13),title(13个节点);subplot(4,4,14),runge1(14),title(14个节点);subplot(4,4,15),runge1(15),title(15个节点);subplot(4,4,16),runge1(16),title(16个节点)运行结果:分析结果:16幅分别为差值节点从 1到 16个的原函数的图像与 Langrange差值多项式的图像。看图可知,当节点数较小时,逼近效果并不好,随着节点数的增多,逼近效果似乎越来越好。但是当节点数再增多时,在接近区间两边附近误差越来越大,逼近效果越来越差,这就是龙格现象。