【发布时间】:2011-10-17 21:46:44
【问题描述】:
我尝试使用 NMinimize 函数来找到以下函数的全局最小值。
f = {s1 - Log[1000/{Norm[{2.83, 0, 2} - {u, v, w}]}^3]}^2 + {s2 -
Log[1000/{Norm[{0, 2.83, -2} - {u, v, w}]}^3]}^2 + {s3 -
Log[1000/{Norm[{-2.83, 0, 2} - {u, v, w}]}^3]}^2 + {s4 -
Log[1000/{Norm[{0, -2.83, -2} - {u, v, w}]}^3]}^2;
NMinimize[f, {u, v, w}, Method -> {"DifferentialEvolution"}].
优化是一种无约束的优化。以下是我每次运行时遇到的错误。
"NMinimize::nnum:"函数值 {{2.67476}} 不是一个数字 {u,v,w} = {0.673558,0.659492,0.0861047}"
我不确定我哪里出错了。还有一种方法可以设置停止规则并在出现此类错误时从 NMinimize 输出中提取值。 请帮助我调试此代码。 预先感谢您的帮助 库姆。
【问题讨论】:
-
@rcollyer - 你真的进入了语法高亮,我明白了:)
-
@Verbeia,我想如果我要编辑它,我不妨让它更具可读性。它并不完美,但已经足够了。
标签: wolfram-mathematica mathematical-optimization