Converting symbolic boolean to MATLAB boolean

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

Is the simplify avoidable?
The reason why I use the simplify is so that I end up getting a TRUE/FALSE

Sign in to comment.

 Accepted Answer

strcmp(char(sym('TRUE')),'TRUE')

3 Comments

This would work, but I was hoping to get a "native" way to do the conversion
piecewise() or _if() might be easiest. Neither of those appear to have MATLAB interfaces, though, so you might need to use evalin().
Actually, the _if trick will do, and also, it solves another problem I had
Thanks!

Sign in to comment.

More Answers (0)

Categories

Tags

Community Treasure Hunt

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

Start Hunting!