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/06 17:40:29
![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;的极小值所在的区间,可为什么得到的结果是](/uploads/image/z/3166220-20-0.jpg?t=matlab%E8%AF%AD%E5%8F%A5Maina0%3D1%3Bda%3D0.05%3Ba1%3Da0%3Ba2%3Da0%2Bda%3Bf1%3Dfun%28a1%29%3Bf2%3Dfun%28a2%29%3Bif%28f1f3%29a1%3Da2%3Ba2%3Da3f2%3Df3a3%3Da2%2Bdaf3%3Dfun%28a3%29enda%3Da3b%3Da2fun%E5%87%BD%E6%95%B0%EF%BC%9Afunction+f%3Dfun%28x%29f%3Dx%5E2-7%2Ax%2B10%3Bend%E8%BF%99%E6%98%AF%E6%B1%82%E5%87%BD%E6%95%B0f%3Dx%5E2-7%2Ax%2B10%3B%E7%9A%84%E6%9E%81%E5%B0%8F%E5%80%BC%E6%89%80%E5%9C%A8%E7%9A%84%E5%8C%BA%E9%97%B4%2C%E5%8F%AF%E4%B8%BA%E4%BB%80%E4%B9%88%E5%BE%97%E5%88%B0%E7%9A%84%E7%BB%93%E6%9E%9C%E6%98%AF)
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就不会了