lagrange.m

来自「基于Matlab的计算方法中常用的算法程序」· M 代码 · 共 25 行

M
25
字号
function s=Lagrange(x,y,x0)
  % Lagrange插值,x和y为已知的插值点及其函数值
  % x0为要求的插值点的x值
  nx=length(x);
  ny=length(y);
  if nx~=ny
      warning('向量x与y的长度应该相同')
      return
  end
  m=length(x0);
  %按照公式,对要求的插值点向量x0的每个元素进行计算
  for i=1:m
      t=0.0;
      for j=1:nx
          u=1.0;
          for k=1:nx
              if k~=j
                  u=u*(x0(i)-x(k))/(x(j)-x(k));
              end
          end
          t=t+u*y(j);
      end
      s(m)=t;
  end
  return

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?