gobetter的个人博客分享 http://blog.sciencenet.cn/u/gobetter

博文

以Ruge函数为例使用lagrange插值方法展现Runge现象(matlab)

已有 6666 次阅读 2015-1-6 20:08 |个人分类:编程|系统分类:科普集锦


源代码

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');











https://blog.sciencenet.cn/blog-2292236-856990.html


下一篇:parker太阳风解-MATLAB实现
收藏 IP: 111.200.119.*| 热度|

0

该博文允许注册用户评论 请点击登录 评论 (0 个评论)

数据加载中...

Archiver|手机版|科学网 ( 京ICP备07017567号-12 )

GMT+8, 2024-4-19 11:40

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部