Simplify Boolean/logical expression

조회 수: 9 (최근 30일)
Sara Nikdel
Sara Nikdel 2020년 8월 14일
댓글: Sara Nikdel 2020년 8월 14일
I have the following commands:
syms a b c;
S = simplify( ((a|b) | a) & (a|c) );
When I run them, it gives me the following answer:
(a | b) & (a | c)
which is correct, but it is not the simplest answer. The simplest answer is this:
a | (b & c)
For what I am working on, when 'a' appears two times, it changes the result and calculation. So I get the wrong outputs. I was wondering if there is a way to get the simplest answer such as the second one for a Boolean expression or if I can make changes to the current commands to get the second answer?
Note: This is just an example, I will have about 15-20 elements/sets in my Boolean expression.

채택된 답변

Walter Roberson
Walter Roberson 2020년 8월 14일
simplify(S, 'steps', 10)

추가 답변 (1개)

Cris LaPierre
Cris LaPierre 2020년 8월 14일
You could try using the "Steps" name-value pair
S = simplify( ((a|b) | a) & (a|c) ,"Steps",50)

카테고리

Help CenterFile Exchange에서 Mathematics에 대해 자세히 알아보기

제품


릴리스

R2020a

Community Treasure Hunt

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

Start Hunting!

Translated by