九九四.
2021-11-20 00:08
采纳率: 100%
浏览 33

matlab拉格朗日插值多项式

img

  • 写回答
  • 好问题 提建议
  • 追加酬金
  • 关注问题
  • 邀请回答

1条回答 默认 最新

  • CSDN专家-黄老师 2021-11-20 09:29
    最佳回答

    插值基函数
    n 次代数插值问题的解可表示为

    pn(x)=sumlimitsnk=0lk(x)yk,
    
    

    MATLAB 程序

    function  yi = LagInterp(x,y,xi)
    
    %  Lagrange 插值多项式,调用格式为
    
    %   yi = LagInterp(x,y,xi)
    
    %  其中
    
    %  x 为插值节点,y为节点处函数值,
    
    %  xi 为为估计函数自变量,yi 为xi处函数估计值
    
    %
    
    n = length(x); m = length(xi); p = zeros(n,m);
    
    for k = 1:n
    
       t = ones(n,m);
    
       for j = 1:n
    
           if j~=k
    
               if abs(x(k) - x(j))<eps
    
                  error('% 输入的插值节点必须互异!');
    
               end
    
               t(j,:) = (xi - x(j))/(x(k) - x(j));
    
           end
    
       p(k,:) = prod(t);
    
       end
    
       yi = y*p;
    
    end
    
    
    
    x = [1.1275, 1.1503, 1.1735, 1.1972];
    
    y = [0.11910, 0.13954, 0.15932, 0.17903];
    
    xi = [1.1300 1.1600];
    
    yi = LagInterp(x,y,xi)
    
    
    评论
    解决 1 无用
    打赏 举报

相关推荐 更多相似问题