Discover MakerZone

MATLAB and Simulink resources for Arduino, LEGO, and Raspberry Pi

Learn more

Discover what MATLAB® can do for your career.

Opportunities for recent engineering grads.

Apply Today

Problem 640. Getting logical indexes

Created by Doug Hull

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.

Problem Group

Solution Statistics

126 correct solutions 68 incorrect solutions
Last solution submitted on Oct 07, 2014