> f=inline('x^2-7*x+10','x');
a=2;
b=8;
epsilon=0.25;
x1=b-0.618*(b-a);
f1=f(x1);
x2=a+0.618*(b-a);
f2=f(x2);
for k=1:7
fprintf(1,'迭代次数 k=%3.0f\n',k)
if f1<=f2
b=x2;
x2=x1;
f2=f1;
x1=b-0.618*(b-a);
f1=f(x1);
else
a=x1;
x1=x2;
f1=f2;
x2=a+0.618*(b-a);
f2=f(x2);
end
x=0.5*(b+a);
fprintf(1,'迭代区间-左端 a=%3.4f\n',a)
fprintf(1,'试点1坐标值 a=%3.4f\n',x1)
fprintf(1,'函数值 f1=%3.4f\n',f(x1))
fprintf(1,'迭代区间-右端 b=%3.4f\n',b)
fprintf(1,'试点2坐标值 x2=%3.4f\n',x2)
fprintf(1,'函数值 f2=%3.4f\n',f(x2))
fprintf(1,'区间中点 x=%3.4f\n',x)
disp''
end
迭代次数 k= 1
迭代区间-左端 a=2.0000
试点1坐标值 a=3.4165
函数值 f1=-2.2430
迭代区间-右端 b=5.7080
试点2坐标值 x2=4.2920
函数值 f2=-1.6227
区间中点 x=3.8540
结果只输出了一次迭代的结果并且提示如下错误:
??? Error using ==> disp
Too many output arguments.
请问如何改进能将7次迭代结构全部输出来????
特别满意,留个QQ吧,我是菜鸟级的,还有好多问题想咨询呢
追答1150153553
你是学生吗
嗯。是的,太感谢啦