Matlab 版 (精华区)

发信人: zjliu (秋天的萝卜), 信区: Matlab
标  题: 拉格朗日插值改进版(转载)
发信站: 哈工大紫丁香 (Wed Dec  3 10:04:48 2003), 站内信件

转于饮水思源站

Larange插值改进版

function lagrange(n,nn)
% n 插值次数
% nn 原函数定义域
clf;
Gx=inline('1/(1+25*y^2)');
x=linspace(-1,1,nn);
fx=1./(1+25*x.^2);
plot(x,fx,'r')
hold on
x2=linspace(-1,1,n+1);% 等距点插值
k=1;
j=1;
M=ones(1,nn);
Lx=zeros(1,nn);

  for k=1:n+1
    for j=1:n+1
       if j==k
       else
           M=(x-x2(j)).*M./(x2(k)-x2(j));
       end
    end;
    j=1;
    Lx=Lx+Gx(x2(k)).*M;
    M=ones(1,nn);
end;
plot(x,Lx,'b:')


--
╔═══════════════════╗
║★★★★★友谊第一  比赛第二★★★★★║
╚═══════════════════╝

※ 来源:.哈工大紫丁香 bbs.hit.edu.cn [FROM: 202.118.229.162]
[百宝箱] [返回首页] [上级目录] [根目录] [返回顶部] [刷新] [返回]
Powered by KBS BBS 2.0 (http://dev.kcn.cn)
页面执行时间:4.637毫秒