Domanda

Diciamo che ho una matrice 100x100, voglio dividerla in parti uguali di 10x10.

Il problema è che la matrice di input può essere di qualsiasi dimensione (ma sempre mod 10). Ho esaminato la funzione mat2cell ma non sembra funzionare per un numero dinamico di parti. Oppure mi sfugge qualcosa?

È stato utile?

Soluzione

Devi solo dire a mat2cell esattamente come vuoi dividere la matrice. Se sei sicuro che sarà sempre un multiplo di 10 in entrambe le direzioni, allora è (abbastanza) semplice. Supponendo che X sia la matrice che si desidera dividere e si desidera l'array di celle risultante in Y :

Y = mat2cell (X, repmat (10, [1 size (X, 1) / 10]), repmat (10, [1 size (X, 2) / 10]));

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top