Extract the column/ row numbers or adress
6 views (last 30 days)
Show older comments
Turbulence Analysis
on 20 Jan 2021
Commented: Turbulence Analysis
on 20 Jan 2021
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
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.
Accepted Answer
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);
logidx = logical(c); % if c is numeric
% or
logidx = c==1; % if c contains values outside of 0|1
3 Comments
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
More Answers (0)
See Also
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!