Simplify Boolean/logical expression
12 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Kommentiert: Sara Nikdel am 14 Aug. 2020
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 am 14 Aug. 2020
simplify(S, 'steps', 10)
Weitere Antworten (1)
Cris LaPierre am 14 Aug. 2020
You could try using the "Steps" name-value pair
S = simplify( ((a|b) | a) & (a|c) ,"Steps",50)
Find more on Logical in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!Start Hunting!