Boolean Operator
1. Boolean operations in Matlab 2. Video 3. Relational operations
1. Introduction to Boolean operationsIn
Matlab, there are four logical or boolean operators:
Boolean
operator: 
Meaning: 
& 
logical
AND 
 
logical
OR 
~ 
logical
NOT (complement) 
xor 
exclusive
OR 
These
operators produce vectors or matrices of the same size as the operands,
with 1
when the condition is true,
and 0 when the condition is false.
2. Video
This
video gives you an overview of the operations that can be accomplished
with the software, and after that, I'll show more details and exact
code...
Now, let's see more details and specific examples. Given
array x
= [0 7
3 5] and array y
= [2 8 7 0], these are some possible operations:
Operation:
Result:
n = x
&
y
n = [0
1
1 0]
m = ~(y

x)
m = [0
0
0 0]
p =
xor(x,
y)
p = [1
0
0 1]
Since
the output of the logical or boolean operations is a vector or matrix
with only 0
or 1
values, the output can be used as the index of a matrix to
extract appropriate
elements. For example, to see the elements of x
that satisfy both the
conditions (x<y) and (x<4), you can type
x((x<y) & (x<4)).
Operation: Result:
x<y
ans =
[1 1
1
0]
x<4
ans =
[1 0
0
0]
q
=
x((x<y) & (x<4))
q
= [0 3]
Additionally to these boolean
operators, there are several useful builtin logical functions, such as:
any 
true
if any element of a vector is true 
all 
true if all elements of a vector are
true 
exist 
true if the argument exists 
isempty 
true for an empty matrix 
isinf 
true for all infinite elements of a
matrix 
isnan 
true for all elements of a matrix that
ara notanumber 
find 
finds indices of nonzero elements of
a matrix 
3. Relational
Operators
There
are six relational operators in Matlab:
Relational
operator: 
Meaning: 
< 
less
than 
<= 
less
than or equal 
> 
greater
than 
>= 
greater
than or equal 
== 
equal
(possibility, not assignation) 
~= 
not
equal 
These operations result in a vector of matrix
of the
same size as the operands, with 1 when the relation is true, and 0 when
it’s
false.
Given arrays x
= [0 7
3 5] and y
= [2 8 7 0], these are some possible relational operations:
Operation: Result:
k =
x<y
k = [1 1
1
0]
k
= x <= y
k = [1 1
1
0]
k
= x == y
k = [0 0
0
0]
Although these operations are usually used in
conditional statements such as ifelse
to branch out to different cases, they
can be used to do very complex matrix manipulation. For example x
= y(y
>
0.45) finds all the elements of vector y
such that y_{i}
> 0.45 and
stores them in vector x.
These operations can be combined with boolean
operators, too.
From
'Boolean Operator' to home
From
'Boolean
Operator' to 'Boolean Algebra Menu'
