How to check elements with value of 1’s in adjoining rows

5 Ansichten (letzte 30 Tage)
Vishal Sharma
Vishal Sharma am 20 Feb. 2017
Beantwortet: Guillaume am 20 Feb. 2017
A = [1 1 0 0;
0 1 1 0;
0 1 1 0;
0 0 1 1;
0 0 1 1]
How to check the result of 1’s in adjoining rows are equal.
i.e. 2nd element in 1st and 2nd row have common 1
2nd and 3rd elements in 2nd and 3rd row have common 1’s
3rd elements in 3rd and 4th row have common 1
3rd and 4th elements in 4th and 5th row have common 1

Antworten (1)

Guillaume
Guillaume am 20 Feb. 2017
~diff(A) & A(1:end-1, :)
will show you which element of each row is identical to the one in the next row. You can transform that into a cell array of indices with:
[r, c] = find(~diff(A) & A(1:end-1, :));
accumarray(r, c, [], @(x) {x})

Kategorien

Mehr zu Elementary Math finden Sie in Help Center und File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by