How to identify blocks in a diagonal block matrix?
Ältere Kommentare anzeigen
I have the following type of block diagonal matrix whose non-overlapping "blocks" I would like to indentify. These blocks may vary in size and may contain zeros.
M = [
1 1 1 0 0 0 0 0 0 0 0 0
1 1 1 0 0 0 0 0 0 0 0 0
1 1 1 0 0 0 0 0 0 0 0 0
0 0 0 1 1 1 0 0 0 0 0 0
0 0 0 1 1 1 0 0 0 0 0 0
0 0 0 1 1 1 0 0 0 0 0 0
0 0 0 0 0 0 1 0 0 0 0 0
0 0 0 0 0 0 0 1 0 1 0 0
0 0 0 0 0 0 0 0 1 1 1 1
0 0 0 0 0 0 0 1 1 1 0 1
0 0 0 0 0 0 0 0 1 0 1 1
0 0 0 0 0 0 0 0 1 1 1 1]
For this specific example, there are 4 distinct blocks whose indices are:
1, 2, 3 (3x3 block)
4, 5, 6 (3x3 block)
7 (1x1 block)
8, 9, 10, 11, 12 (4x4 block)
2 Kommentare
Paul
am 25 Aug. 2023
What's the rule for identifying a distinct block? For example, why isn't 7 - 12 considered a single 5 x 5 block?
Ludovic Tenorio
am 25 Aug. 2023
Akzeptierte Antwort
Weitere Antworten (0)
Kategorien
Mehr zu Operating on Diagonal Matrices finden Sie in Hilfe-Center und File Exchange
Produkte
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!