三点二次插值程序问题!
做一个关于三点二次插值的程序设计,却总是出错,目标方程是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
流程图:
同学你是用maple做的吧,我再matlab上运行显示没有maple相关模块,你可以在论坛上找找,应该有关插值的源程序
WSHXPY 发表于 2015-1-9 23:00 static/image/common/back.gif
同学你是用maple做的吧,我再matlab上运行显示没有maple相关模块,你可以在论坛上找找,应该有关插值的源程 ...
我是用Matlab做的,现在问题已经解决了,谢谢!
页:
[1]