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 built-in 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 not-a-number |
find |
finds indices of non-zero 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 if-else
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 yi
> 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'
|