mat2cell
Divide um array em um cell array de subblocos.
Categoria: Language Fundamentals > Data Types
Sintaxe
C = mat2cell(A, r)
Divide A ao longo das linhas em blocos de r(1), r(2), ... linhas, mantendo todas as colunas.
C = mat2cell(A, r, c)
Divide ao longo de linhas e colunas, dando um cell array numel(r) por numel(c).
Descrição
mat2cell é o inverso da concatenação: juntar com [C{:,:}] o desfaz. É o modo habitual de cortar uma matriz em pedaços desiguais. Quando as somas em r ou c não batem com o tamanho de A, a chamada gera erro.
Argumentos de entrada
A- Array de qualquer tipo.
r, c- Vetores com o número de linhas, e de colunas, de cada bloco. Suas somas devem ser iguais ao tamanho de
Anaquela dimensão.
Argumentos de saída
C- Cell array cujo elemento
C{i,j}é um bloco deA.
Exemplo
Cortando uma matriz 4 por 4
A = magic(4);
C = mat2cell(A, [2 2], [3 1]);
C{1,1}
C{2,2}
Saída
ans = 2×3
16 2 3
5 11 10
ans = 2×1
12
1