lagrange.m

来自「数值分析---部分算法 希望对需要的人有一点点用!」· M 代码 · 共 23 行

M
23
字号
% -------------------------------------------------------------------------
% ----------------------------拉格朗日插值算法------------------------------
% 函数 LX=Lagrange(matrix)
% 功能: 通过插值节点得到拉格朗日插值多项式
% 输入参数:matrix  存有插值节点数据的矩阵,3行n列,n即为插值节点的个数
%                  其第一行为插值点Xi,第二行为函数在x=Xi时的值f(Xi)
%                  第三行函数一阶倒数值(此函数用不到)
% 输出参数:  LX    拉格朗日插值多项式,关于x的多项式表达式
% -------------------------------------------------------------------------
function LX=Lagrange(matrix)
syms x y LX
[m,n]=size(matrix);
LX=0;
for i=1:n
    y=1;
    for j=1:n  %存储单元下标从1开始
        if j~=i
        y=y*((x-matrix(1,j))/(matrix(1,i)-matrix(1,j)));
        end
    end                
   LX=LX+matrix(2,i)*y;
end
LX=simple(LX);

⌨️ 快捷键说明

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