Problem 640. Getting logical indexes
This is a basic MATLAB operation. It is for instructional purposes.
---
Logical indexing works like this.
thresh = 4; vec = [1 2 3 4 5 6 7 8];
vi = (vec > thresh)
vi =
0 0 0 0 1 1 1 1
Once you have this TRUE FALSE vector (I call it vi: Valid Indices)
It can be used to get the values out:
big = vec(vi)
big =
5 6 7 8
Given a vector, vec, and a value, v, return a binary vector that represents the indices where vector, vec, is equal to scalar, v.
Note, this works just as well with scalars and matrices.
----
To get the indices where this comparison is true, see this Cody problem.
Solution Stats
Problem Comments
Solution Comments
Show commentsProblem Recent Solvers1102
Suggested Problems
-
Find the longest sequence of 1's in a binary sequence.
6129 Solvers
-
Given an unsigned integer x, find the largest y by rearranging the bits in x
1791 Solvers
-
10555 Solvers
-
We love vectorized solutions. Problem 1 : remove the row average.
810 Solvers
-
Solving Quadratic Equations (Version 1)
481 Solvers
More from this Author51
Problem Tags
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!