Extract the column/ row numbers or adress

3 views (last 30 days)
Hi,
I have 1 x 10000 matrix which got values of 0, 1 in it. Here, I would like to get the information on column numbers which got the value 1. Attached, here is th matrix. Please help me with this...
  3 Comments
dpb
dpb on 20 Jan 2021
NB: Depending upon the next step(s), often one doesn't need to actually return the indices themselves but can simply use the logical addressing vector.
If so, may save a temporary variable plus the overhead of the find() operation itself.

Sign in to comment.

Accepted Answer

Adam Danz
Adam Danz on 20 Jan 2021
> I would like to get the information on column numbers which got the value 1
For logical row vectors or numeric row vectors containing 1|0,
colNum = find(c);
If the row vector contains values other than 0|1 and you want to find the 1s, follow Omid Saeidi's advice,
colNum = find(c==1);
If you're planning on indexing, follow dpb's advice and use logical indexing
logidx = logical(c); % if c is numeric
% or
logidx = c==1; % if c contains values outside of 0|1
  3 Comments
Adam Danz
Adam Danz on 20 Jan 2021
I would define the sequences within a variable and loop through each sequence.
seq = {55:65; 125:145; 201:225};
for j = 1:numel(seq)
for kk = seq{j}
% your code
end
end

Sign in to comment.

More Answers (0)

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!