Clustering matrices in cells
이전 댓글 표시
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!
답변 (1개)
Jos (10584)
2017년 12월 6일
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)
카테고리
도움말 센터 및 File Exchange에서 Matrix Indexing에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!