# Solving an inequation of first degree issue

4 ビュー (過去 30 日間)
Rodrigo Toledo 2021 年 4 月 1 日

Hello,
i am trying to solve this inequation:
a = 3*x + 21 <= 5*x + 13
the answer matlab is giving me when i use:
solve(a)
is 5. But the answer should be x>= 4. What i am doing wrong here?
Thanks

サインインしてコメントする。

### 採用された回答

John D'Errico 2021 年 4 月 1 日

syms x
a = 3*x + 21 <= 5*x + 13
a = asol = solve(a,'returnconditions',true)
asol = struct with fields:
x: [1×1 sym] parameters: [1×1 sym] conditions: [1×1 sym]
asol.x
ans =
x
asol.conditions
ans = It looks like x >= 4 is the solution.
When you have a problem with multiple solutions, certainly an inequality like this, you need to tell MATLAB to describe the solution properly. When all I do is use solve on a, what does it do? It gives me AN answer, a valid solution to the problem.
solve(a)
ans =
5
Read the help docs for solve, where it explains the use of this property.

サインインしてコメントする。

### Community Treasure Hunt

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

Start Hunting!