MATLAB Answers

Locks
0

find out in which row an element is equal to a specific number

Asked by Locks
on 1 May 2013
Latest activity Commented on by James Tursa
on 3 Nov 2017
hi,
I have the following problem:
I have a matrix with 20 columns and over 200'000 rows. somewhere in this matrix there seems to be some strange datas which I would like to delete. If I am looking for the rownumbers where the value is higher than a specific value, lets say I am looking for all the values in the first row that are larger than 1500
If I do this:
data18(:,1)>1500
I get a logical array, but what I am looking for is the exact row number, what do I need to do?

  0 Comments

Sign in to comment.

3 Answers

Answer by James Tursa
on 1 May 2013
Edited by James Tursa
on 1 May 2013
 Accepted Answer

If you are looking for rows where any value is > 1500, then
find(any(data18>1500,2))
Or if you are only interested in rows where the 1st column is > 1500, then
find(data18(:,1)>1500)

  3 Comments

why do you put number 2 in the code? find(any(data18>1500,2))
The 2 forces the any( ) function to work on the rows instead of the columns (which is the default).

Sign in to comment.


Answer by Youssef Khmou
on 1 May 2013
Edited by Youssef Khmou
on 1 May 2013

hi try :
[x,y]=find(data18(:,1)>1500);

  1 Comment

Sign in to comment.


Answer by Jarrod Halpin on 14 May 2016

How would you implement this in a loop for a variety of values?

  0 Comments

Sign in to comment.