lagrange.m

来自「数值分析常用的一些公式」· M 代码 · 共 29 行

M
29
字号
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
%x=[1 2 3 4 5];
%y=[2 4 6 8 10];
%lagrange(x,y,[1.4 2.5 3.7])

    

⌨️ 快捷键说明

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