资源简介
拉格朗日插值法程序
n=size(pointx,2);
L=ones(n,size(x,2));
if (size(pointx,2)~=size(pointy,2))
fprintf(1,'\nERROR!\nPOINTX and POINTY must have the same number of elements\n');
y=NaN;
else
for i=1:n
for j=1:n
if (i~=j)
L(i,:)=L(i,:).*(x-pointx(j))/(pointx(i)-pointx(j));
end
end
end
y=0;
for i=1:n
y=y+pointy(i)*L(i,:);
end
end
代码片段和文件信息
function y=lagrange(xpointxpointy)
%
%LAGRANGE approx a point-defined function using the Lagrange polynomial interpolation
%
% LAGRANGE(XPOINTXPOINTY) approx the function definited by the points:
% P1=(POINTX(1)POINTY(1)) P2=(POINTX(2)POINTY(2)) ... PN(POINTX(N)POINTY(N))
% and calculate it in each elements of X
%
% If POINTX and POINTY have different number of elements the function will return the NaN value
%
% function wrote by: Calzino
% 7-oct-2001
%
n=size(pointx2);
L=ones(nsize(x2));
if (size(pointx2)~=size(pointy2))
fprintf(1‘\nERROR!\nPOINTX and POINTY must have the same number of elements\n‘);
y=NaN;
else
for i=1:n
for j=1:n
if (i~=j)
L(i:)=L(i:).*(x-pointx(j))/(pointx(i)-pointx(j));
end
end
end
y=0;
for i=1:n
y=y+pointy(i)*L(i:);
end
end
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 908 2001-10-07 23:08 lagrange.m
- 上一篇:最速下降法matlab
- 下一篇:频谱图matlab函数
评论
共有 条评论