如何利用matlab解决插值拟合中的龙格现象

2025-10-27 20:22:00

1、启动matlab编程窗口

启动matlab,新建一个m程序文件。

具体操作:File → New → Script (如第一幅图)

第二幅图为编写程序代码的m文件窗口

如何利用matlab解决插值拟合中的龙格现象

如何利用matlab解决插值拟合中的龙格现象

2、编制插值函数的程序

编写插值程序代码,插值次数分别为2、4、6、8、10、12,原函数为f(x)=1/(1+25*x^2)。采用的是拉格朗日插值法,插值区间为[-1,1],插值节点为等距节点。

如何利用matlab解决插值拟合中的龙格现象

3、运行程序

选择变成窗口的菜单:Debug → Run Untitled3 运行程序。

运行程序也可以使用快捷按钮(绿色箭头按钮),如图二。 

如何利用matlab解决插值拟合中的龙格现象

如何利用matlab解决插值拟合中的龙格现象

4、插值结果

按照上一步运行程序,即可得到原函数与插值函数的图像,如图。

如何利用matlab解决插值拟合中的龙格现象

5、龙格现象

    从第四步的插值结果可以看出,在拉格朗日基函数的高次插值中,在插值区间的边界部分插值函数会出现很大波动,明显偏离原函数,所以拉格朗日插值次数不宜过高。

    我们把高次插值边界出现这种波动的现象叫做龙格现象,龙格现象说明插值不准确,在实际中要尽量避免

1、避免龙格现象的方法

为避免出现龙格现象,我们对拉格朗日插值基函数的插值节点做一个调整。采用切比雪夫零点插值。这样就可以避免出现龙格现象。

2、编制切比雪夫零点的拉格朗日插值函数

本次编程,只需在上面的程序做局部修改,将等距节点替换为切比雪夫零点作为插值节点。其他基本不变。

如何利用matlab解决插值拟合中的龙格现象

3、运行修改后程序

在运行修改后的程序之前记得要先保存哦!

运行方法和上面讲的一样,本次就选用快捷方法,即直接按绿色箭头。

如何利用matlab解决插值拟合中的龙格现象

4、运行结果:没出现龙格现象

运行后的图像,在高次插值中,插值区间的边界区域,插值函数没有很大的偏离原函数,从后面运行的结果可以看出没有在出现龙格现象。在本次插值中,使用切比雪夫零点替换了原先的等距节点,避免了龙格现象的出现。

如何利用matlab解决插值拟合中的龙格现象

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢