MATLAB中调用牛顿插值应该用什么函数?
下面是函数文件代码,可以自己创建一个函数文件保存。
函数s =牛顿(x,y,x0,nn)
%牛顿插值,其中x是插值点,y是其函数值。
%x0是待插值点的x坐标值,nn是牛顿插值多项式的阶。
nx =长度(x);
ny =长度(y);
如果nx~=ny
警告(“向量x和y应该有相同的长度”)
返回
结束
m =长度(x0);
%根据公式计算所需插值点x0的每个元素。
因为i=1:m
t = 0.0
j = 1;
YY = y;
kk = j;
而(kk & lt=nn)
kk = kk+1;
对于k=kk:nx
YY(k)=(YY(k)-YY(kk-1))/(x(k)-x(kk-1));
结束
结束
t = YY(1);
对于k=2:nn
u = 1.0;
jj = 1;
while(jj & lt;k)
u = u *(x0(I)-x(jj));
jj = jj+1;
结束
t = t+YY(k)* u;
结束
s(I)= t;
结束