Неожиданный результат решения некоторого неравенства в символьных вычислениях Matlab

Пожалуйста, рассмотрите этот пример. Я хотел бы решить x^3 - 2x > 0. Я пытаюсь следующие команды:

syms x;
f = @(x) x^3-2*x;
solve(f(x)>0,x)

и Matlab возвращает это

ANS = решить ([0,0

это не то, что я ожидаю. Поэтому я использую

solve(f(x)+x>x,x)

который возвращается

ans = Dom::Interval(2^(1/2), Inf) Dom::Interval(-2^(1/2), 0)

Может кто-то объяснить, почему solve успешно работает только во втором случае?

1 ответ

Решение

Попробуйте добавить Real возможность solve:

solve(f(x)>0,x,'Real',1)

ans =

 Dom::Interval(2^(1/2), Inf)
 Dom::Interval(-2^(1/2), 0)
Другие вопросы по тегам