matlab 牛顿插值多项式,大神求解析程序~~关于牛顿插值多项式的matlab程序

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

这个是牛顿插值求多项式的程序,从网上下载的,但是小妹看半天也看不明白,求解析!!大神帮忙解答一下,O(∩_∩)O谢谢~~

function [p2,z]=newTon(x,y,t)

%输入参数中x,y为元素个数相等的向量,t为待估计的点,可以为数字或向量。

%输出参数中p2为所求得的牛顿插值多项式,z为利用多项式所得的t的函数值。

n=length(x);

chaS(1)=y(1);

for i=2:n

x1=x;y1=y;

x1(i+1:n)=[];

y1(i+1:n)=[];

n1=length(x1);

s1=0;

for j=1:n1

t1=1;

for k=1:n1

if

k==j

continue;

else

t1=t1*(x1(j)-x1(k));

end

end

s1=s1+y1(j)/t1;

end

chaS(i)=s1;

end

b(1,:)=[zeros(1,n-1) chaS(1)];

cl=cell(1,n-1);

for i=2:n

u1=1;

for

j=1:i-1

u1=conv(u1,[1

-x(j)]);

cl{i-1}=u1;

end

cl{i-1}=chaS(i)*cl{i-1};

b(i,:)=[zeros(1,n-i),cl{i-1}];

end

p2=b(1,:);

for j=2:n

p2=p2+b(j,:);

end

if length(t)==1

rm=0;

for

i=1:n

rm=rm+p2(i)*t^(n-i);

end

z=rm;

else

k1=length(t);

rm=zeros(1,k1);

for

j=1:k1

for

i=1:n

rm(j)=rm(j)+p2(i)*t(j)^(n-i);

end

z=rm;

end

end

plot(t,z,'y',x,y,'*r')

你可能感兴趣的:(matlab,牛顿插值多项式)