Inconsistent Outputs Using MuPAD "assume" Command
1 view (last 30 days)
Show older comments
Why does the following MuPAD code generate the "UNKNOWN" outputs shown? I should be getting "FALSE" outputs instead.
delete x: delete a: delete b: delete c:
assume(a>0); assumeAlso(0<c<1): assumeAlso((a*(1-c))<x<(a*(1+c))):
is((a*(1-c))>0);
is(x>(a*(1-c)));
delete x: delete a: delete b: delete c:
assume(a>0); assumeAlso(0<c<1): assumeAlso((a*(1-c))<x<(a*(1+c))):
is((a*(1-c))<0);
is(x<(a*(1-c)));
TRUE
TRUE
UNKNOWN
UNKNOWN
0 Comments
Answers (1)
Walter Roberson
on 23 Mar 2014
if is((a*(1-c))>0) is TRUE then why would is((a*(1-c))<0) be TRUE ? The first expression is the same but the comparison is opposite so they are disjunctions. If one is TRUE then the other should be FALSE.
2 Comments
Walter Roberson
on 23 Mar 2014
I don't know at the moment. Try reversing the order of the subsections. If it is the first subsection that works, then you need to use a "syms clear" not just a "clear"; see http://www.mathworks.com/help/symbolic/clear-assumptions-and-reset-the-symbolic-engine.html
See Also
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!