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毫秒