请输入您要查询的百科知识:

 

词条 龙格现象
释义

在计算方法中,有利用多项式对某一函数的近似逼近,这样,利用多项式就可以计算相应的函数值。例如,在事先不知道某一函数的具体形式的情况下,只能测量得知某一些分散的函数值。例如我们不知道气温随日期变化的具体函数关系,但是我们可以测量一些孤立的日期的气温值,并假定此气温随日期变化的函数满足某一多项式。这样,利用已经测的数据,应用待定系数法便可以求得一个多项式函数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),'r*')下面是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');

运行效果如右图

图中红色的才是真正的函数图形。一般吧这种次数越高而插值结果越偏离原函数的现象称为龙格现象。所以在不熟悉曲线运动趋势的前提下,不要轻易使用高次插值。

随便看

 

百科全书收录4421916条中文百科知识,基本涵盖了大多数领域的百科知识,是一部内容开放、自由的电子版百科全书。

 

Copyright © 2004-2023 Cnenc.net All Rights Reserved
更新时间:2025/1/31 1:33:47