How can i sum cells that equals in matrix

3 views (last 30 days)
Maxim Bragilovski
Maxim Bragilovski on 9 Jan 2018
Commented: Rik on 9 Jan 2018
if i have a matrix like that
2 2 2 2
1 1 1 1
0 0 1 0
how can i calculate the sum of rows that the values in all of their columns are equals.
for this example i want it will return 2

Answers (2)

Roger Stafford
Roger Stafford on 9 Jan 2018
You can also use the 'all' function:
sum(all(diff(a,1,2)==0))
  1 Comment
Rik
Rik on 9 Jan 2018
It might not matter at all, but I would like to point out that this is about twice as fast as my answer (at least on my machine on R2017b and R2012b).

Sign in to comment.


Rik
Rik on 9 Jan 2018
a=[2 2 2 2
1 1 1 1
0 0 1 0];
sum(sum(abs(diff(a,1,2)),2)==0)

Community Treasure Hunt

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

Start Hunting!

Translated by