newtoninterpolation.m

来自「用牛顿插值法对离散点进行差值」· M 代码 · 共 25 行

M
25
字号
function y0=NewtonInterpolation(X,Y,x0)
%X,Y是已知插值点坐标
%x0是插值点
%y0是牛顿插值多项式在x0处的值
%N是拉格朗日插值函数的权函数
m=length(X);%记录X的长度
F=zeros(m,m);%建立一个m*m的全1列向量
y0=Y(1);%把第一个已知点坐标的纵坐标赋值给y0
for i=1:m
    F(i,1)=Y(i);%把已知插值点的纵坐标赋值给F,为插商向量做准备
end
for i=2:m
    for j=2:i
        F(i,j)=(F(i,j-1)-F(i-1,j-1))/(X(i)-X(i-j+1));%构造i-1阶差商
    end
end
G=[X',F];%构造差商表
G%输出差商表
for i=2:m
    x=1;
    for j=1:i-1
        x=x*(x0-X(i-j));
    end
    y0=y0+F(i,i)*x;%叠加得到y0的值
end

⌨️ 快捷键说明

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