How to extract specific entries from a matrix?

3 views (last 30 days)
Hi there,
I have a 100,001x7 matrix. I want to obtain the exact location of each entry in column 2 that equals a specific number. For example I want to know which rows in column 2 have an entry equal to 5.
Is there a way to do this on Matlab?
Any help is much appreciated, Scott.

Answers (1)

Andrei Bobrov
Andrei Bobrov on 1 Jul 2015
A = randi(2000,100001,7); % let this is your data
out = find(A(:,2) == 5);
  3 Comments
Andrei Bobrov
Andrei Bobrov on 1 Jul 2015
Like this is:
intr = [4.5,5.5];
out = find(intr(1) <= A(:,2) & intr(2) >= A(:,2));
Brendan Hamm
Brendan Hamm on 1 Jul 2015
Or you could do something like:
tol = 0.5; % tolerance
idx = abs(A(:,2) - 5) < tol; % logical vector of locations within tolerance
Now the actual values can be extracted with:
A(idx,2)
or the entire row with
A(idx,:)

Sign in to comment.

Categories

Find more on MATLAB in Help Center and File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!