Converting symbolic boolean to MATLAB boolean

4 ビュー (過去 30 日間)
Joan Puig
Joan Puig 2011 年 5 月 27 日
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 件のコメント
Oleg Komarov
Oleg Komarov 2011 年 5 月 27 日
Is the simplify avoidable?
Joan Puig
Joan Puig 2011 年 5 月 27 日
The reason why I use the simplify is so that I end up getting a TRUE/FALSE

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

採用された回答

Walter Roberson
Walter Roberson 2011 年 5 月 27 日
strcmp(char(sym('TRUE')),'TRUE')
  3 件のコメント
Walter Roberson
Walter Roberson 2011 年 5 月 27 日
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 2011 年 5 月 27 日
Actually, the _if trick will do, and also, it solves another problem I had
Thanks!

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

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeSymbolic Math Toolbox についてさらに検索

タグ

Community Treasure Hunt

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

Start Hunting!

Translated by