回 帖 发 新 帖 刷新版面

主题:关于Newton插值法的程序

请问谁有Newton插值法的程序吗?关于求差商那部分不太明白
希望哪个大侠能帮一下忙,万谢!

回复列表 (共2个回复)

沙发

function f = Newton(x,y,x0)
syms t;

if(length(x) == length(y))
    n = length(x);
    c(1:n) = 0.0;
else
    disp('x和y的维数不相等!');
    return;
end

f = y(1);
y1 = 0;
l  = 1;
 
for(i=1:n-1)   
    for(j=i+1:n)
        y1(j) = (y(j)-y(i))/(x(j)-x(i));
    end
    c(i) = y1(i+1);     
    l = l*(t-x(i));  
    f = f + c(i)*l;
    simplify(f);
    y = y1;
    
    if(i==n-1)
        if(nargin == 3)
            f = subs(f,'t',x0);
        else
            f = collect(f);                %将插值多项式展开
            f = vpa(f, 6);
        end
    end
end



板凳


万分感谢!

我来回复

您尚未登录,请登录后再回复。点此登录或注册