How can i sum cells that equals in matrix

1 Ansicht (letzte 30 Tage)
Maxim Bragilovski
Maxim Bragilovski am 9 Jan. 2018
Kommentiert: Rik am 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

Antworten (2)

Roger Stafford
Roger Stafford am 9 Jan. 2018
You can also use the 'all' function:
sum(all(diff(a,1,2)==0))
  1 Kommentar
Rik
Rik am 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).

Melden Sie sich an, um zu kommentieren.


Rik
Rik am 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