小编use*_*022的帖子

NMinimize Mathematica中的功能

我尝试使用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.

wolfram-mathematica mathematical-optimization

2
推荐指数
1
解决办法
2154
查看次数