

源代码
clear;
%lagrange插值所用的点
format rat %分数显示计算值
for n=3:1:15 %n表示legend插值的阶次
for i=0:1:n
x(i+1)=i*2/n-1
y(i+1)=1/(1+25*x(i+1)^2)
end
l=1;
for xx=-1:0.01:1
s=0;
for i=1:1:n+1
t=1;
for j=1:1:n+1
if j~=i
t=t*(xx-x(j))/(x(i)-x(j))
end
end

s=s+t*y(i)
end
m(l,n)=s
l=l+1
end
end
%画图
b=1
for x=-1:0.01:1
yy(b)=1/(1+25*x.^2)
b=b+1
end
x=-1:0.01:1
plot(x,yy,'b',x,m(:,3),'c',x,m(:,5),'k',x,m(:,9),'r',x,m(:,15),'g');
legend('原函数','3阶larange插值','5阶larange插值','9阶larange插值','15阶插值的larange函数')
grid;
title('不同阶次larange插值效果图(dx=0.01)')
xlabel('x');ylabel('y');
转载本文请联系原作者获取授权,同时请注明本文来自李巧玲科学网博客。
链接地址:http://blog.sciencenet.cn/blog-2292236-856990.html
下一篇:parker太阳风解-MATLAB实现

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/38776.html