matlab 牛顿插值_牛顿前差公式

牛顿前差公式 

7b5922fa1d3ef2b951b55fc6f8a20773.png

%Newton向前插值的MATLAB程序function yi=newton1(x,y,xi)%等距节点的Newton向前插值公式,x为等距插值节点向量,按行输入% y为插值节点函数值向量,按行输入,xi为标量,自变量%计算初始值h=x(2)-x(1);t=(xi-x(1))/h;%计算差商表Yn=length(y);Y=zeros(n);Y(:,1)=y';%差分表第一列为 y,插值节点函数值for k=1:n-1    Y(:,k+1)=[diff(y',k);zeros(k,1)];end%Y %输出向前差分表%计算向前插值公式yi=Y(1,1);for i=1:n-1    z=t;    for k=1:i-1        z=z*(t-k);%差分多项式    end    yi=yi+Y(1,i+1)*z/prod([1:i]);        %prod向量每个元素相乘endyi=vpa(yi,6);

例子

x=0:0.1:0.5;y=[1 0.995 0.98007 0.95534 0.92106 0.87758];xi=0.048;yi=newton1(x,y,xi)Y =    1.0000   -0.0050   -0.0099    0.0001    0.0001   -0.0000    0.9950   -0.0149   -0.0098    0.0003    0.0001         0    0.9801   -0.0247   -0.0095    0.0003         0         0    0.9553   -0.0343   -0.0092         0         0         0    0.9211   -0.0435         0         0         0         0    0.8776         0         0         0         0         0 yi = 0.998842

你可能感兴趣的:(matlab,牛顿插值,matlab牛顿插值,matlab牛顿插值法程序)