matlab语句Maina0=1;da=0.05;a1=a0;a2=a0+da;f1=fun(a1);f2=fun(a2);if(f1f3)a1=a2;a2=a3f2=f3a3=a2+daf3=fun(a3)enda=a3b=a2fun函数:function f=fun(x)f=x^2-7*x+10;end这是求函数f=x^2-7*x+10;的极小值所在的区间,可为什么得到的结果是

来源:学生作业帮助网 编辑:作业帮 时间:2024/07/13 01:43:08
matlab语句Maina0=1;da=0.05;a1=a0;a2=a0+da;f1=fun(a1);f2=fun(a2);if(f1f3)a1=a2;a2=a3f2=f3a3=a2+daf3=fun(a3)enda=a3b=a2fun函数:function f=fun(x)f=x^2-7*x+10;end这是求函数f=x^2-7*x+10;的极小值所在的区间,可为什么得到的结果是
xQoPǿJc?_"^C2 3.f0⢄Ipfɠ[̄{[ K,dsXK 5{OpElk3nc7$M^;XOĐ2Kd"!(:EAcI+J=w 蠰ڔߓJeG!XM~P5~2rd8odv?Ӭ9C]:6{p?.Y1!Y\D#!ǘ)*-'dhcNiL0uRM[7\T>;ac^?/ϻn0K??^<S0jV}Wyk/ҋ3I'+)(ePcxvǬy|{آP%"%>[jdVbOe{ /^.~k,y|I?Pv$1lt|tzm˯` ou'0 7E X2*GD@

matlab语句Maina0=1;da=0.05;a1=a0;a2=a0+da;f1=fun(a1);f2=fun(a2);if(f1f3)a1=a2;a2=a3f2=f3a3=a2+daf3=fun(a3)enda=a3b=a2fun函数:function f=fun(x)f=x^2-7*x+10;end这是求函数f=x^2-7*x+10;的极小值所在的区间,可为什么得到的结果是
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);if(f1f3)a1=a2;a2=a3f2=f3a3=a2+daf3=fun(a3)enda=a3b=a2fun函数:function f=fun(x)f=x^2-7*x+10;end这是求函数f=x^2-7*x+10;的极小值所在的区间,可为什么得到的结果是
步长太大了,da=0.05就不会了,你format long 在运行会发现
a2 =
3.450000000000002
f2 =
-2.247499999999999
a3 =
3.550000000000002
f3 =
-2.247500000000001
这个matlab计算时出了点小问题,精度问题使得f2>f3但是已经越过极值点了
你把da就定为0.05就不会了