lagranx.asv

来自「数值分析常用几种方法」· ASV 代码 · 共 33 行

ASV
33
字号
function []=lagranX(n)
%分段线性插值求插值点
for i=0:n
    x0(i+1)=-5+10*i/n
    y0=1./(1+x0.^2);
end

if x>=x(0)&&x<=x(1)
l0(x)=(x-x(1))/(x(0)-x(1));
else if
      x>x(1)&&x<=x(n)
    l0(x)=0;
     end
end
for k=1:n-1
    if x>=x(k-1)&&x<=x(k)
        lk(x)=(x-x(k-1))/(x(k)-x(k-1));
    else if
            x>x(k)&&x<=x(k+1)
            lk(x)=x-x(k+1))/(x(k)-x(k+1));
        end
    end
end

     if x>=x(n-1)&&x<=x(n)
        ln(x)=(x-x(n-1))/(x(n)-x(n-1));
    else if
            x>=0&&x<x(n-1)
            ln(x)=0;
        end
    end
    p(x)=p(x)+y(k)*lk(x);

⌨️ 快捷键说明

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