Simplify Boolean/logical expression

9 次查看(过去 30 天)
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