wander-clouds
syms f x a b c;
f(x)=3*x^4-4*x^3-12*x^2;
q(x)=a*x^2+b*x+c;
%二点二次插值
x=[-1.2 -0.8];
ff=diff(diff(f));
dif=diff(f);
for i=1:3
    %[a b c]=solve(\'f(x(1))=q(x(1))\',\'f(x(2))=q(x(2))\',\'12*x(1)^3-12*x(1)^2-24*x(1)=2*a*x(1)+b\',\'a\',\'b\',\'c\');
    a=dif(x(1))/(x(1)-x(2))-(f(x(1))-f(x(2)))/(x(1)-x(2))^2;
    b=(2*x(1)/(x(1)-x(2)))*((f(x(1))-f(x(2)))/(x(1)-x(2)))-(x(1)+x(2))/(x(1)-x(2))*dif(x(1));
    t=-b/(2*a);
    t=vpa(t,5)
    if dif(t)==0
        disp(\'t*\')
        disp(t)
        break
    elseif dif(t)<0
        x(1)=t;
        disp(x(1))
    elseif dif(t)>=0
        x(2)=t;
        disp(x(2))
    end
end
%一点二次插值
x=x(1);
for i=1:3
    t=x-dif(x)/ff(x);
    t=vpa(t,5)
    if dif(x)==0
        disp(\'t*\')
        disp(t)
        break
    else
        x=t;
        disp(x)
    end
end
        

  

分类:

技术点:

相关文章: