Mathematica中的等式约束函数最小化8

在Mathematica 8中使用简单等式约束时,最小化不起作用。 例如

FindMinimum[{x^2 + y^2,  y == 1}, {x, y}]

在Mathematica 6中工作正常,但在版本8中出现错误。其他人能否确认(或解释)? 看起来像修复其中一个参数的约束混淆了版本8.将xy==1为OK,也是任何不等式。

任何简单的解决方法呢? 我试图改变Method ,没有运气。 我想保留参数列表中的所有参数,但用简单约束保留其中一些参数,而不是从列表中删除参数名称。 我在版本6中有一个工作代码,它在8中不再工作。


你的语法看起来不正确:

FindMinimum[{x^2 + y^2,  y == 1}, {x, y}]

它要求以y的值开始x 。 这对我来说没有多大意义。

也许你正试图做到:

Minimize[{x^2 + y^2, y == 1}, {x, y}]
  Out:  {1, {x -> 0, y -> 1}}

显然你的语法是有效的。 考虑如上所示Minimize ,以解决您的问题。


另一个解决方法是使用版本9。

In[1]:= FindMinimum[{x^2 + y^2, y == 1}, {x, y}]
Out[1]= {1., {x -> 0., y -> 1.}}

也就是说,你上面展示的是一个已经为未来版本修复好的bug。

Daniel Lichtblau Wolfram Research


In[31]:= NMinimize[{x^2 + y^2, y == 1}, {x, y}]

Out[31]= {1., {x -> -3.20865*10^-9, y -> 1.}}

In[32]:= FindMinimum[{x^2 + y^2, 1 - 10^-10 <= y <= 1 + 10^-10}, {x, y}]

Out[32]= {1., {x -> 0., y -> 1.}}

然而,我不知道如何迫使妈妈继续搜索,即使它遇到无限的表达? 任何人都可以分享你的想法吗?

谢谢^ _ ^

链接地址: http://www.djcxy.com/p/35625.html

上一篇: Function minimization with equality constraints in Mathematica 8

下一篇: creating distributions in mathematica