matlab不同次数的拉格朗日插值图像怎么放在一个坐标系?
展开全部
matlab不同次数的拉格朗日插值(y=1/(1+25x^2))图像怎么放在一个坐标系中?这个问题可以这样处理,plot()函数后面,加一个hold on 命令。
那怎样来实现,可以用下列代码来完成:
1、首先确定x的区间,如 x在【-1,1】,取x=[-1:0.1:1]向量数据
2、利用拉格朗日插值公式,进行插值计算,即
w_x_diff(j)=subs(w_x_diff(n+1),x_para,x(j));
ln_x(j)=(1/(1+x(j)^2))*w_x(n+1) / ((x_para-x(j))*(w_x_diff(j)));
3、利用循环语句,计算n=5,10,20次的插值
for n=[5,10,20]
。。。
w_x(n+1)=prod(part_x);
w_x_diff(n+1)=diff(w_x(n+1));
。。。
Ln_x=sum(ln_x);
x_vector=-0.99:0.037:0.99;
Ln_x=subs(Ln_x,x_para,x_vector);
。。。
end
4、利用plot函数,绘制各次数的插值多项式的曲线图
plot(x0,y),hold on
plot(x_vector,Ln_x),hold on
5、完善代码,并运行得到n=5,10,20次插值多项式的曲线图
6、从图像中,可以观察到,采用拉格朗日多项式插值时,随着插值次数越来越大,插值多项式不见得次数越高越准确(Runge现象),Ln(x)并不一定收敛于f(x),而出现多阶震荡曲线在指定区间中徘徊。
那怎样来实现,可以用下列代码来完成:
1、首先确定x的区间,如 x在【-1,1】,取x=[-1:0.1:1]向量数据
2、利用拉格朗日插值公式,进行插值计算,即
w_x_diff(j)=subs(w_x_diff(n+1),x_para,x(j));
ln_x(j)=(1/(1+x(j)^2))*w_x(n+1) / ((x_para-x(j))*(w_x_diff(j)));
3、利用循环语句,计算n=5,10,20次的插值
for n=[5,10,20]
。。。
w_x(n+1)=prod(part_x);
w_x_diff(n+1)=diff(w_x(n+1));
。。。
Ln_x=sum(ln_x);
x_vector=-0.99:0.037:0.99;
Ln_x=subs(Ln_x,x_para,x_vector);
。。。
end
4、利用plot函数,绘制各次数的插值多项式的曲线图
plot(x0,y),hold on
plot(x_vector,Ln_x),hold on
5、完善代码,并运行得到n=5,10,20次插值多项式的曲线图
6、从图像中,可以观察到,采用拉格朗日多项式插值时,随着插值次数越来越大,插值多项式不见得次数越高越准确(Runge现象),Ln(x)并不一定收敛于f(x),而出现多阶震荡曲线在指定区间中徘徊。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询