and, &

Find logical AND

Syntax

A & B
and(A,B)

Description

example

A & B performs a logical AND of arrays A and B and returns an array containing elements set to either logical 1 (true) or logical 0 (false). An element of the output array is set to logical 1 (true) if both A and B contain a nonzero element at that same array location. Otherwise, the array element is set to 0.

and(A,B) is an alternate way to execute A & B, but is rarely used. It enables operator overloading for classes.

Examples

collapse all

Find the logical AND of two matrices. The result contains logical 1 (true) only where both matrices contain nonzero values.

A = [5 7 0; 0 2 9; 5 0 0]
A = 3×3

     5     7     0
     0     2     9
     5     0     0

B = [6 6 0; 1 3 5; -1 0 0]
B = 3×3

     6     6     0
     1     3     5
    -1     0     0

A & B
ans = 3x3 logical array

   1   1   0
   0   1   1
   1   0   0

Create a truth table for and.

A = [true false]
A = 1x2 logical array

   1   0

B = [true; false]
B = 2x1 logical array

   1
   0

C = A&B
C = 2x2 logical array

   1   0
   0   0

Input Arguments

collapse all

Left operand, specified as a scalar, vector, matrix, or multidimensional array. Inputs A and B must either be the same size or have sizes that are compatible (for example, A is an M-by-N matrix and B is a scalar or 1-by-N row vector). For more information, see Compatible Array Sizes for Basic Operations.

Data Types: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical

Right operand, specified as a scalar, vector, matrix, or multidimensional array. Inputs A and B must either be the same size or have sizes that are compatible (for example, A is an M-by-N matrix and B is a scalar or 1-by-N row vector). For more information, see Compatible Array Sizes for Basic Operations.

Data Types: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical

Tips

  • You can chain together several logical operations, for example, A & B | C.

  • The symbols & and && perform different operations in MATLAB®. The element-wise AND operator described here is &. The short-circuit AND operator is &&.

  • When you use the element-wise & and | operators in the context of an if or while loop expression (and only in that context), they use short-circuiting to evaluate expressions. Otherwise, you must specify && or || to opt-in to short-circuiting behavior. See Logical Operators: Short Circuit for more information.

Extended Capabilities

C/C++ Code Generation
Generate C and C++ code using MATLAB® Coder™.

Introduced before R2006a