题目:高次插值的龙格现象
目的:观察高次插值的龙格现象(即振荡现象)
要求:
f
(
x
)
=
1
1
+
25
x
2
f(x)=\frac1{1+25x^2}
f(x)=1+25x21,
x
∈
[
−
1
,
1
]
x∈[-1,1]
x∈[−1,1]
写出 f ( x ) f(x) f(x)的5次、10次、20次拉格朗日插值多项式,并在同一坐标系下画出三者的图像,观察高次插值的龙格现象(振荡现象)
代码:
主程序:
clear all;clc;
x=[-1:0.01:1];
x1=[-1:2/5:1];
y1=1./(1+25*x1.^2);
yy1=lagrange(x1,y1,x);
plot(x,yy1,'-r')%红色实线
axis([-1 1 -10 10])
hold on
x2=[-1:2/10:1];
y2=1./(1+25*x2.^2);
yy2=lagrange(x2,y2,x);
plot(x,yy2,'-k')%黑色实线
hold on
x3=[-1:2/20:1];
y3=1./(1+25*x3.^2);
yy3=lagrange(x3,y3,x);
plot(x,yy3,'-b')%蓝色实线
hold on
legend('5 interpolation','10 interpolation ','20 interpolation');
title('拉格朗日插值','FontSize',15,'FontName','Microsft YaHei UI')
拉格朗日函数(lagrange):
拉格朗日函数放在资源链接里了,需要的自取:https://download.csdn.net/download/didi_ya/29668816
结果图像:
当不设置y轴坐标范围时,默认为[-60,10],其图像如下:
我们发现,很难看出三种插值的区别,因此我们必须对坐标轴区域进行设置。
将y轴坐标范围为[-10,10]时,其图像如下:
进一步缩小y轴坐标范围到[-5,5],其图像如下:
上图就尽可能直观的显示出了三者的显示情况,以及比较明显的反映出了高次插值的龙格现象。
输出结果:
5次拉格朗日插值多项式:
p
=
(
125
∗
x
4
)
/
104
−
(
45
∗
x
2
)
/
26
+
59
/
104
p = (125*x^4)/104 - (45*x^2)/26 + 59/104
p=(125∗x4)/104−(45∗x2)/26+59/104
10次拉格朗日插值多项式:
p
=
−
(
390625
∗
x
10
)
/
1768
+
(
109375
∗
x
8
)
/
221
−
(
51875
∗
x
6
)
/
136
+
(
54525
∗
x
4
)
/
442
−
(
3725
∗
x
2
)
/
221
+
1
p = -(390625*x^{10})/1768 + (109375*x^8)/221 - (51875*x^6)/136 + (54525*x^4)/442 - (3725*x^2)/221 + 1
p=−(390625∗x10)/1768+(109375∗x8)/221−(51875∗x6)/136+(54525∗x4)/442−(3725∗x2)/221+1
20次拉格朗日插值多项式:
p = ( 19531250000000 ∗ x 20 ) / 75068617 − ( 75976562500000 ∗ x 18 ) / 75068617 + ( 425781250000 ∗ x 16 ) / 259753 − ( 6371757812500 ∗ x 14 ) / 4415801 + ( 514466015625 ∗ x 12 ) / 679354 − ( 666444328125 ∗ x 10 ) / 2717416 + ( 435552910625 ∗ x 8 ) / 8831602 − ( 216170060575 ∗ x 6 ) / 35326408 + ( 70691550125 ∗ x 4 ) / 150137234 − ( 1812417625 ∗ x 2 ) / 75068617 + 1 p = (19531250000000*x^{20})/75068617 - (75976562500000*x^{18})/75068617 + (425781250000*x^{16})/259753 - (6371757812500*x^{14})/4415801 + (514466015625*x^{12})/679354 - (666444328125*x^{10})/2717416 + (435552910625*x^8)/8831602 - (216170060575*x^6)/35326408 + (70691550125*x^4)/150137234 - (1812417625*x^2)/75068617 + 1 p=(19531250000000∗x20)/75068617−(75976562500000∗x18)/75068617+(425781250000∗x16)/259753−(6371757812500∗x14)/4415801+(514466015625∗x12)/679354−(666444328125∗x10)/2717416+(435552910625∗x8)/8831602−(216170060575∗x6)/35326408+(70691550125∗x4)/150137234−(1812417625∗x2)/75068617+1
其显示结果如图所示:
参考:
https://wenku.baidu.com/view/66d7fc9e6f1aff00bfd51e0f.html
ok,大功告成,如果对你有所帮助,记得点个赞哟~