n-1次牛顿差值的matlab文件,牛顿插值法的MATLAB综合程序

6.3.5 牛顿插值法的MATLAB 综合程序

求牛顿插值多项式、差商、插值及其误差估计的MATLAB 主程序

function [y,R,A,C,L]=newdscg(X,Y,x,M)

n=length(X); m=length(x);

for t=1:m

z=x(t); A=zeros(n,n);A(:,1)=Y';

s=0.0; p=1.0; q1=1.0; c1=1.0;

for j=2:n

for i=j:n

A(i,j)=(A(i,j-1)- A(i-1,j-1))/(X(i)-X(i-j+1)); end

q1=abs(q1*(z-X(j-1)));c1=c1*j;

end

C=A(n,n);q1=abs(q1*(z-X(n)));

for k=(n-1):-1:1

C=conv(C,poly(X(k)));

d=length(C);C(d)=C(d)+A(k,k);

end

y(k)= polyval(C, z);

end

R=M*q1/c1;L(k,:)=poly2sym(C);

例6.3.6 给出节点数据00.27)00.4(=-f ,00.1)00.0(=f ,00.2)00.1(=f ,00.17)00.2(=f ,作三阶牛顿插值多项式,计算)345.2(-f ,并估计其误差.

解 首先将名为newdscg.m 的程序保存为M 文件,然后在MATLAB 工作窗口输入程序

>> syms M,X=[-4,0,1,2]; Y =[27,1,2,17]; x=-2.345;

[y,R,A,C,P]=newdscg(X,Y,x,M)

运行后输出插值y )345.2(-≈f 及其误差限公式R ,三阶牛顿插值多项式P 及其系数向量C ,差商的矩阵A 如下

y =

22.3211

R =

1323077530165133/562949953421312*M (即R =2.3503*M )

A=

27.0000 0 0 0

1.0000 -6.5000 0 0

2.0000 1.0000 1.5000 0

17.0000 15.0000 7.0000 0.9167

C =

0.9167 4.2500 -4.1667 1.0000

P =

11/12*x^3+17/4*x^2-25/6*x+1

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值