Сообщение Reduce::ratnz
является не ошибкой, а предупреждением.Если вы нажмете на ссылку More
или >>
, что бы ни отображалось в вашей системе, вы перейдете к документации , в которой говорится:
Это сообщениечасто генерируется, когда первый аргумент в Reduce
содержит неточные числа.[...] Предупреждающего сообщения можно избежать, используя только точные цифры на входе для Reduce
Теперь, если вы раздражены сообщением, вы можете отключить сообщение, используя
Off[Reduce::ratnz]
, который отключит предупреждение для all дальнейшего использования Reduce
или вы можете просто отключить эту операцию, используя
Quiet@Reduce[...]
Если вы хотите избегайте сообщения, тогда, как сказано в документации, вам придется использовать точные цифры.Одним из способов является использование Rationalize
.Например:
x = 1.391 + 0.771 a;
Reduce[Rationalize[x] > 0 && 1 <= a <= 80, {a}]
Out[1]= 1 <= a <= 80
Дает желаемый результат без предупреждения.Могут быть и другие способы в зависимости от того, что именно вы делаете, но трудно сказать, не зная вашего точного выражения.Надеюсь, это помогло.