error using Solve with inequality

1 view (last 30 days)
Shan  Chu
Shan Chu on 7 Jun 2019
Commented: Shan Chu on 10 Jun 2019
Hi all,
I am facing a strange problem with using Solve with inequality.
Could you please help?
Thanks
Capture.JPG
  2 Comments
Torsten
Torsten on 7 Jun 2019
Why strange ?
Isn't
4^2-4*4+3 > 0 and 0^2-4*0+3 > 0
as well as
e^2-4*e+3 < 0 and 2^2-4*2+3 < 0
?
Shan  Chu
Shan Chu on 10 Jun 2019
Hi,
I thought that the solve function would give me the intervals where the inequality is valid.
Instead, it gave me 2 specific values inside those intervals. (of course they are correct).
I saw the document about solve in matlab website. Why shoudn't it give me the intervals like in the website. I included the pics below
Thanks
Capture.JPG

Sign in to comment.

Accepted Answer

John D'Errico
John D'Errico on 10 Jun 2019
Edited: John D'Errico on 10 Jun 2019
You did not follow the example carefully.
syms x
>> S = solve(x^2 - 4*x + 3 < 0,'returnconditions',true)
S =
struct with fields:
x: [2×1 sym]
parameters: [1×2 sym]
conditions: [2×1 sym]
>> S.conditions
ans =
1 < x & x < 3
in(y, 'real')
Note the use of returnconditions. Without that, it gives a solution, but not the interval that you desire. So if I drop that property, we get a solution. It is valid, as you say. But just a solution.
S = solve(x^2 - 4*x + 3 < 0)
S =
exp(1)
2

More Answers (0)

Categories

Find more on Symbolic Math Toolbox in Help Center and File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!