码迷,mamicode.com
首页 > 其他好文 > 详细

一点二次插值、二点二次插值 ,matlab

时间:2018-04-18 18:53:48      阅读:184      评论:0      收藏:0      [点我收藏+]

标签:pre   else   elseif   tla   lse   二次   for   div   diff   

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
        

  

一点二次插值、二点二次插值 ,matlab

标签:pre   else   elseif   tla   lse   二次   for   div   diff   

原文地址:https://www.cnblogs.com/wander-clouds/p/8855892.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!