lagrange.m

来自「Numerical analysis (Gauss、Bisection、jaco」· M 代码 · 共 26 行

M
26
字号
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 + -
显示快捷键?