reshape

Muda o tamanho de um array sem alterar seus elementos.

Categoria: Language Fundamentals > Matrices and Arrays

Sintaxe

B = reshape(A, m, n, ...)

Reorganiza os elementos nas dimensões indicadas.

B = reshape(A, [], n)

Deixa um tamanho vazio e deixa o MATLAB calculá-lo.

B = reshape(A, sz)

Tamanho dado como vetor.

Descrição

Os elementos são lidos descendo as colunas de A e escritos descendo as colunas da nova forma, então reshape(1:6, 2, 3) é [1 3 5; 2 4 6], não [1 2 3; 4 5 6]. Para preencher por linhas, faça o reshape para o tamanho transposto e transponha de volta.

Se o número de elementos mudasse, a chamada falha com erro; a forma com [] evita calcular um tamanho à mão.

Argumentos de entrada

A
Array de qualquer tipo.
m, n, ...
Novos tamanhos de dimensão; o produto deve ser igual a numel(A). No máximo um pode ser [].

Argumentos de saída

B
Array com os mesmos elementos em ordem de coluna.

Exemplo

reshape(1:6, 2, 3)
reshape(1:6, [], 2)
reshape(1:6, 3, 2)'
Saída
ans = 2×3

     1     3     5
     2     4     6
ans = 3×2

     1     4
     2     5
     3     6
ans = 2×3

     1     2     3
     4     5     6

Veja também

permute squeeze resize colon size