1

この例を考えてみてください。x^3 - 2x > 0 を解きたいと思います。次のコマンドを試します。

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

そしてMatlabはこれを返します

ans = solve([0.0 < x^3 - 2.0*x], [x])

これは私が期待するものではありません。したがって、私は使用します

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

返す

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

なぜsolve2番目のケースでのみうまく機能するのか、誰かが説明できますか?

4

1 に答える 1

2

Realにオプションを追加してみてくださいsolve:

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

ans =

 Dom::Interval(2^(1/2), Inf)
 Dom::Interval(-2^(1/2), 0)
于 2014-05-22T15:50:30.383 に答える