How to construct and evaluate a boolean expression using symbols?
    17 visualizaciones (últimos 30 días)
  
       Mostrar comentarios más antiguos
    
    Jay Vaidya
      
 el 15 de Nov. de 2020
  
    
    
    
    
    Respondida: Walter Roberson
      
      
 el 15 de Nov. de 2020
            If I have a boolean expression that is 
y = (x1bar∨x2)(x3bar∨x4bar)(x3bar∨x5)
I am currently using a simple 1 and 0 matrix to evaluate this sometimes manually and sometimes in a for a loop. However, it is difficult to do the same for larger expressions. Is there a way that I can evaluate these expressions using symbols like the ones we have poly2sym()? In other words, using and or logical operators and the values of the variables, can I find the answer of any boolean expression without using a for a loop as my expressions should less time to evaluate compared to the other part of the code. 
0 comentarios
Respuesta aceptada
  Walter Roberson
      
      
 el 15 de Nov. de 2020
        [X1, X2, X3, X4, X5] = ndgrid([false,true]);
X1bar = ~X1;
X3bar = ~X3;
X4bar = ~X4;
X1barvX2 = X1bar | X2;
X3barvX4bar = X3bar | X4bar;
X3barvX5 = X3bar | X5;
y = (X1barvX2) & (X3barvX4bar) & (X3barvX5);
y_table = [X1(y), X2(y), X3(y), X4(y), X5(y)];
disp(y_table)
0 comentarios
Más respuestas (0)
Ver también
Categorías
				Más información sobre Loops and Conditional Statements en Help Center y File Exchange.
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!

