Wolfram mathematica Mathematica Maximization,韩元';t最大化a*0.3
我在mathematica中最大化这个函数时遇到了一个问题:Wolfram mathematica Mathematica Maximization,韩元';t最大化a*0.3,wolfram-mathematica,mathematical-optimization,mathematica-8,mathematica-frontend,Wolfram Mathematica,Mathematical Optimization,Mathematica 8,Mathematica Frontend,我在mathematica中最大化这个函数时遇到了一个问题: Maximize[a + 0.3 * b, 0 < b < 10, a] 最大化[a+0.3*b,0
Maximize[a + 0.3 * b, 0 < b < 10, a]
最大化[a+0.3*b,0
我只是在运行代码时将上面的内容作为输出返回,而不是helpfull
但是,当我最大化等效函数时:
Maximize[a + (3/10) * b, 0 < b < 10, a]
最大化[a+(3/10)*b,0
我有办法了
这是怎么回事?为什么mathematica会这样做?如果你比较这些结果,你会发现第一个会因为
0.3
是Real
,而第二个会因为3/10
是Rational
而切换到使用n最大化
。这解释了不同的行为
{真实的,理性的}
如果你比较这些结果,你会发现第一个选择使用
NMaximize
,因为0.3
是Real
,而第二个选择尝试使用最大化
符号解算,因为3/10
是Rational
。这解释了不同的行为
{真实的,理性的}
我无法解释这个问题,但mathematica为什么不自己尝试这样做呢。缺乏调试输出令人担忧,这是为了解释这个问题,但mathematica为什么不自己尝试这样做,这是我无法理解的。缺乏调试输出令人担忧
Map[Head, {0.3, 3/10}]