我尝试使用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"}].
Run Code Online (Sandbox Code Playgroud)
优化是无约束的优化.以下是我每次运行时得到的错误.
"NMinimize :: nnum:"函数值{{2.67476}}不是{u,v,w} = {0.673558,0.659492,0.0861047}处的数字"
我不确定我哪里出错了.还有一种方法可以设置停止规则,并在出现此类错误时从NMinimize输出中提取值.请帮我调试这段代码.提前感谢您帮助Kum.