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
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值