how can i count number of zeroes in a martix(containing elements 0s and 1s only) which is below any 1s(means in a column top to bottom , if 0 comes then dont count if 1 comes then count whole 0s below that 1.

A(:,:,1) =
5 7 8
0 1 9
4 3 6
A(:,:,2) =
1 0 4
3 5 6
9 8 7

2 Comments

What does A have to do with your question? A is not a matrix, and it does not contain only ones and zeros, so it is unclear how it relates to your question.
yes i did a mistake in asking , soory there must be only 0 and 1 but i didnot and in my problem A is a 3d array. thanks

Sign in to comment.

 Accepted Answer

>> M = randi(0:1,5,6)
M =
0 1 1 1 0 1
0 1 0 0 0 1
1 0 0 0 1 0
1 1 1 0 0 1
0 0 0 1 1 1
>> sum(cumsum(M,1) & M==0, 1)
ans =
1 2 3 3 1 1

6 Comments

>> M = randi(0:1,5,6)
M =
0 1 1 1 0 1;
0 1 0 0 0 1;
1 0 0 0 1 0;
1 1 1 0 0 1;
0 0 0 1 1 1;
>> sum(cumsum(M,1) & M==0, 1)
ans =
1 2 3 3 1 1
in this we are opreting along column( i.e direction 1) if we want to operate along row means we want a column vector (1,3,4,2,0) from matrix M then should we do .... sum(cumsum(M,2) &.....) but it is now working then what should we do
thank you sir can we learn theory and logic behind sum(cumsum(... &...) command plaese share the link
@ntsh kr: read the MATLAB documentation. It is easy to search using any internet search engine. This was the first result returned when I searched for "MATLAB cumsum":

Sign in to comment.

More Answers (0)

Asked:

on 25 Oct 2017

Commented:

on 7 Nov 2017

Community Treasure Hunt

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

Start Hunting!