• 大小: 561B
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2021-06-13
  • 语言: Matlab
  • 标签: 拉格朗日  

资源简介

拉格朗日插值法程序 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

评论

共有 条评论