Converting symbolic boolean to MATLAB boolean

4 views (last 30 days)
Hi,
I have a symbolic expression that can be evaluated to true / false, and I would like to get that result back to MATLAB.
This is what I have tried:
>> sym('1>0')
ans =
0 < 1
>> simplify(sym('1>0'))
ans =
TRUE
>> double(simplify(sym('1>0')))
??? Error using ==> eval
Undefined function or variable 'TRUE'.
Error in ==> sym.sym>sym.double at 937
X = eval(Xstr);
>> logical(simplify(sym('1>0')))
??? Error using ==> logical
Conversion to logical from sym is not possible.
>>
Thanks Joan
  2 Comments
Joan Puig
Joan Puig on 27 May 2011
The reason why I use the simplify is so that I end up getting a TRUE/FALSE

Sign in to comment.

Accepted Answer

Walter Roberson
Walter Roberson on 27 May 2011
strcmp(char(sym('TRUE')),'TRUE')
  3 Comments
Walter Roberson
Walter Roberson on 27 May 2011
piecewise() or _if() might be easiest. Neither of those appear to have MATLAB interfaces, though, so you might need to use evalin().
Joan Puig
Joan Puig on 27 May 2011
Actually, the _if trick will do, and also, it solves another problem I had
Thanks!

Sign in to comment.

More Answers (0)

Tags

Community Treasure Hunt

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

Start Hunting!