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

56 views (last 30 days)
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?

Accepted Answer

James Tursa
James Tursa on 1 May 2013
Edited: James Tursa on 1 May 2013
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)
  4 Comments
James Tursa
James Tursa on 3 Nov 2017
The 2 forces the any( ) function to work on the rows instead of the columns (which is the default).

Sign in to comment.

More Answers (3)

Youssef  Khmou
Youssef Khmou on 1 May 2013
Edited: Youssef Khmou on 1 May 2013
hi try :
[x,y]=find(data18(:,1)>1500);

N/A
N/A on 14 May 2016
How would you implement this in a loop for a variety of values?

partha sarkar
partha sarkar on 11 Dec 2019
how to check whether aparticular value in a array is euqal to a given value

Categories

Find more on Loops and Conditional Statements 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!