how to find the number of 1 in a single column?
Show older comments
My input is
0 0 0 0 1 0 0 1 1 0 0 0 1 0
I should find how many 1 is present
2 Comments
Azzi Abdelmalek
on 5 Sep 2012
is it a string ?
Azzi Abdelmalek
on 5 Sep 2012
what is the real question?
Answers (6)
If it is a string:
c = '0 0 0 0 1 0 0 1 1 0 0 0 1 0';
s = sum(c == '1');
% or:
s = length(strfind(c, '1');
if it is a numeric vector:
c = [0 0 0 0 1 0 0 1 1 0 0 0 1 0];
s = sum(c); % as Jose-Luis has suggested already
% or:
s = nnz(c);
your_answer = sum(your_input)
Azzi Abdelmalek
on 5 Sep 2012
c='0 0 0 0 1 0 0 1 1 0 0 0 1 0'
sum(str2num(c))
Sivakumaran Chandrasekaran
on 5 Sep 2012
Sivakumaran Chandrasekaran
on 5 Sep 2012
0 votes
2 Comments
Sivakumaran Chandrasekaran
on 5 Sep 2012
José-Luis
on 5 Sep 2012
your_result = find(ismember(your_matrix,[1 2],'rows'))';
Matt Tearle
on 5 Sep 2012
Edited: Matt Tearle
on 5 Sep 2012
idx = find(all(bsxfun(@eq,x,y),2));
where x is your matrix and y is your test vector (eg y = x(1,:), in your example). For example
x = randi(4,1000,5);
y = x(3,:);
idx = find(all(bsxfun(@eq,x,y),2))
Categories
Find more on Resizing and Reshaping Matrices in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!