wujiang1994 发表于 2015-1-9 16:12

三点二次插值程序问题!

做一个关于三点二次插值的程序设计,却总是出错,目标方程是f=t^3-3*t+2,初始点是t1=-1;t2=0;t3=2;
源代码
function sdeccz
syms t  ;
t1=-1;t2=0;t3=2;
f=t^3-3*t+2;
k=0;
u0=0.5*{f(t1)*(t2^2-t3^2)+f(t2)*(t3^2-t1^2)+f(t3)*(t1^2-t2^2)}/{(t2-t3)*f(t1)+(t3-t1)*f(t2)+(t1-t2)*f(t3)};
u=u0;
while(abs(u-t2)<0.05)   
    f1=subs(f,t,t1);
    f2=subs(f,t,t2);
    f3=subs(f,t,t3);
    u=0.5*{f1*(t2^2-t3^2)+f2*(t3^2-t1^2)+f3*(t1^2-t2^2)}/{(t2-t3)*f1+(t3-t1)*f2+(t1-t2)*f3};
    fu=subs(f,x,u);
         if u>t2
             if fu>=f2
                 t2=u;
                 f2=fu;
             else
                 t1=t2;
                 f1=f2;
                 t2=u;
                 f2=fu;
             end
         else
             if fu>=f2
                 t1=u;
                 f1=fu;
                 t2=t1;
                 f2=f1;
             else
                 t2=u;
                 f2=fu;
                 t3=t2;
                 f3=f2;
             end
         end
         k=k+1
         u;
         fu;
end
流程图:

WSHXPY 发表于 2015-1-9 23:00

同学你是用maple做的吧,我再matlab上运行显示没有maple相关模块,你可以在论坛上找找,应该有关插值的源程序

wujiang1994 发表于 2015-1-11 19:57

WSHXPY 发表于 2015-1-9 23:00 static/image/common/back.gif
同学你是用maple做的吧,我再matlab上运行显示没有maple相关模块,你可以在论坛上找找,应该有关插值的源程 ...

我是用Matlab做的,现在问题已经解决了,谢谢!
页: [1]
查看完整版本: 三点二次插值程序问题!