matlab中求最小值f=@(x)(-exp(x));M=fminbnd(f,0,1);运行出来为什么结果不是-e 而是0.9999呢?

来源:学生作业学帮网 编辑:学帮网 时间:2024/07/02 11:02:46

matlab中求最小值
f=@(x)(-exp(x));
M=fminbnd(f,0,1);
运行出来为什么结果不是-e 而是0.9999呢?

[a,M]=fminbnd(f,0,1);
这样M代表最小值,a是x值.

M=0.9999是x值。也就是当x等于0.9999时f取最小值。
你要求最小的f。程序改成下面的
f=@(x)(-exp(x));
M=fminbnd(f,0,1);
f(M)
结果就是:
ans =
-2.7181