Clustering matrices in cells
Ältere Kommentare anzeigen
Hello.
Given a cell of square matrices of the same size M={M{1},..., M{N}} I would like to group them in K(<N) cells G={G{1},...,G{K}} in this way:
If (conditions(i,j)) M{j} goes to group G{i} end
So far I wrote this code:
If (conditions(i,j)) G{i}={G{i}, M{j}} end
But it does not work as I expected, just merges the matrices inside grup G_i, and I want group i to be something like G{i}={M{i_1},..., M{i_s}}.
Any idea about how to do such a task?
Thank you in advance!
Antworten (1)
Jos (10584)
am 6 Dez. 2017
M = {1 2 3 4} % N=4, 1-by-1 matrices for simplicity
conditions = logical([1 1 0 1; 0 1 1 0]) % K = 2
G = arrayfun(@(k) M(conditions(k,:)),1:size(conditions,1),'un',0)
1 Kommentar
Maicol Ochoa
am 9 Dez. 2017
Kategorien
Mehr zu Matrix Indexing finden Sie in Hilfe-Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!