作业帮 > 综合 > 作业

matlab语句Maina0=1;da=0.05;a1=a0;a2=a0+da;f1=fun(a1);f2=fun(a2

来源:学生作业帮 编辑:大师作文网作业帮 分类:综合作业 时间:2024/11/06 05:57:08
matlab语句
Main
a0=1;
da=0.05;
a1=a0;
a2=a0+da;
f1=fun(a1);
f2=fun(a2);
if(f1f3)
a1=a2;
a2=a3
f2=f3
a3=a2+da
f3=fun(a3)
end
a=a3
b=a2
fun函数:
function f=fun(x)
f=x^2-7*x+10;
end
这是求函数f=x^2-7*x+10;的极小值所在的区间,可为什么得到的结果是在3.55到3.65之间啊?我觉得最终结果应该是在3.45到355啊.
matlab语句Maina0=1;da=0.05;a1=a0;a2=a0+da;f1=fun(a1);f2=fun(a2
步长太大了,da=0.05就不会了,你format long 在运行会发现
a2 =
3.450000000000002
f2 =
-2.247499999999999
a3 =
3.550000000000002
f3 =
-2.247500000000001
这个matlab计算时出了点小问题,精度问题使得f2>f3但是已经越过极值点了
你把da就定为0.05就不会了