matlab计算五次多项式,CAM五次多项式

龙格现象是指在多项式插值过程中,随着多项式的次数增加,有时反而会导致插值结果远离原函数的现象。该现象在计算气温等实际问题时尤为明显,例如在预测气温变化时,高次多项式可能产生较大误差。通过示例代码,展示了在Matlab和Mathematica中如何复现这一现象。因此,在插值时需谨慎选择多项式的次数,避免不必要的精度损失。
摘要由CSDN通过智能技术生成

龙格现象

在计算方法中,有利用多项式对某一函数的近似逼近,这样,利用多项式就可以计算相应的函数值。例如,在事先不知道某一函数的具体形式的情况下,只能测量得知某一些分散的函数值。例如我们不知道气温随日期变化的具体函数关系,但是我们可以测量一些孤立的日期的气温值,并假定此气温随日期变化的函数满足某一多项式。这样,利用已经测的数据,应用待定系数法便可以求得一个多项式函数f(x)。应用此函数就可以计算或者说预测其他日期的气温值。一般情况下,多项式的次数越多,需要的数据就越多,而预测也就越准确。

中文名

龙格现象

外文名

Runge phenomenon

发现者

龙格

定义

利用多项式对某一函数的近似逼近

简介

例外发生了:龙格在研究多项式插值的时候,发现有的情况下,并非取节点(日期数)越多多项式就越精确。著名的例子是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');

运行效果如右图

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值