Find the rows with specific value for each column

6 次查看(过去 30 天)
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!

回答(2 个)

madhan ravi
madhan ravi 2018-10-24
编辑:madhan ravi 2018-10-24
a=randi([1 10],4,10)
[row,col]=find(ismember(a,10));
col %represents in which column the value is
  7 个评论

请先登录,再进行评论。


Akira Agata
Akira Agata 2018-10-24
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

类别

Help CenterFile Exchange 中查找有关 Resizing and Reshaping Matrices 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by