Wie eine Matrix in gleiche Teile teilen?
Frage
Lassen Sie uns sagen, ich habe eine 100x100-Matrix, ich habe es in gleiche Teile von 10x10 teilen möchten.
Das Problem ist, dass die Eingangsmatrix jeder Größe sein kann (aber immer mod 10).
Ich schaute auf der mat2cell
Funktion, aber es scheint nicht für eine dynamische Anzahl von Teilen zu arbeiten.
Oder bin ich etwas fehlt?
Lösung
Sie müssen nur mat2cell
genau sagen, wie Sie die Matrix wollen aufgeteilt. Wenn Sie positiv sind, dass es wird immer in beide Richtungen ein Vielfaches von 10 sein, dann ist es (relativ) einfach. Unter der Annahme, dass X
ist die Matrix, die Sie teilen möchten, und Sie möchten die resultierende Zellenfeld in Y
:
Y = mat2cell(X, repmat(10,[1 size(X,1)/10]), repmat(10,[1 size(X,2)/10]));