您的位置:首页 > 其它

Lagrange插值函数

2007-12-07 20:52 260 查看
function yi=lagint(x,y,xi)
% x,y为已知节点向量值;yi为xi处所求插值点
d_xi=xi-x;
n=length(x);
L=zeros(size(y));
L(1)=prod(d_xi(2:n))/prod(x(1)-x(2:n));
%或者 L(1)=prod(d_xi(2:n)./(x(1)-x(2:n)));
L(n)=prod(d_xi(1:n-1))/prod(x(n)-x(1:n-1));
%或者 L(n)=prod(d_xi(1:n-1)./(x(n)-x(1:n-1)));
for j=2:n-1
fenzi=prod(d_xi(1:j-1))*prod(d_xi(j+1:n));
fenmu=prod(x(j)-x(1:j-1))*prod(x(j)-x(j+1:n));
L(j)=fenzi/fenmu;
end
yi=sum(y.*L);
%fprintf('x=%f,y=%f',xi,yi);
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: