Find the rows with specific value for each column

4 visualizzazioni (ultimi 30 giorni)
heidi pham
heidi pham il 24 Ott 2018
Commentato: madhan ravi il 24 Ott 2018
Hello, I have a 37*10000 matrix, called matrix A.
For each column, I want to get the rows which has a certain value, let's say, 1.
I know how to do with a certain column, by using find, like: find(any(A(:,1)==1,2)). But here, I need to find such rows for all columns, and the number of column is huge. So I dont know how to deal with it?
And is there any way to deal with it without using loop, since the number of column is huge, I am afraid that using loop might take a lot of time to run the command.
Thanks a lot!

Risposte (2)

madhan ravi
madhan ravi il 24 Ott 2018
Modificato: madhan ravi il 24 Ott 2018
a=randi([1 10],4,10)
[row,col]=find(ismember(a,10));
col %represents in which column the value is
  7 Commenti

Accedi per commentare.


Akira Agata
Akira Agata il 24 Ott 2018
Another possible solution.
A = randi([1 10],4,10);
idx = any(A == 1); % Represents column index in which the value 1 is
col = find(idx); % Represents column number in which the value 1 is

Categorie

Scopri di più su Resizing and Reshaping Matrices in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by