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

来源:学生作业帮助网 编辑:六六作业网 时间:2024/10/02 00:35:03
matlab中求最小值f=@(x)(-exp(x));M=fminbnd(f,0,1);运行出来为什么结果不是-e而是0.9999呢?matlab中求最小值f=@(x)(-exp(x));M=fmin

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

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