MATLAB 牛顿插值函数

来源:互联网 发布:同步数据是什么意思 编辑:程序博客网 时间:2024/05/16 19:55

X 为初始值 列向量
Y为初值函数值 列向量
x为插值点
M为插值次数

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';% A?第一列存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);endR=M*q1/c1;L(k,:)=poly2sym(C);