Mathematica Maximization, не будет максимизировать * 0,3
У меня проблема с максимизацией этой функции в mathematica:
Maximize[a + 0.3 * b, 0 < b < 10, a]
Я просто возвращаю вышеупомянутое снова как вывод, когда я запускаю код, Не полезно
Однако, когда я максимизирую эквивалентную функцию:
Maximize[a + (3/10) * b, 0 < b < 10, a]
Я получаю решение?!?
Что здесь происходит? Почему Mathematica делает это?
1 ответ
Решение
Если вы сравните эти результаты, вы увидите, что первый переключается на использование NMaximize
из-за 0.3
являющийся Real
в то время как второй пытается решить символически с помощью Maximise
из-за 3/10
являющийся Rational
, Это объясняет различное поведение.
Map[Head, {0.3, 3/10}]
{Реальный, Рациональный}