Well what I stated is true: c > 0 if b >= 0 Although it is not true that b >= 0 if c > 0 right. But you got what I meant. Thanks for the answer!
Check IN WHICH CASE symbolic logical expression is true
1 view (last 30 days)
Show older comments
Hendrik Lorenz
on 27 Jun 2019
Answered: Hendrik Lorenz
on 27 Jun 2019
Is it possible to get the conditions under which an expression would be true. Example:
syms a b c
assume(a > 0)
c = a+ b
isAlways(c >0 )
Warning: Unable to prove '0 < a + b'.
> In symengine
In sym/isAlways (line 42)
In LiveEditorEvaluationHelperEID289025349 (line 314)
In matlab.internal.editor.evaluateRegions
In matlab.internal.editor.EvaluationOutputsService.evalRegions
Now I would like to receive the information that c > 0 if b >= 0.
That possible?
0 Comments
Accepted Answer
More Answers (1)
Steven Lord
on 27 Jun 2019
No, that's not possible because as you've stated your solution it's not true. c can be greater than 0 even if b is negative.
a = 1;
b = -0.5;
c = a+b
For c to be greater than 0, b must be greater than -a which does not necessarily require it to be greater than 0.You can ask solve to return conditions.
syms a b c
assume(a > 0)
c = a + b
[S, params, conditions] = solve(c > 0, b, 'ReturnConditions', true)
b can be any value x such that -a < x.
0 Comments
See Also
Categories
Find more on Assumptions 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!