shiftdim

Desloca as dimensões de um array, removendo ou acrescentando dimensões iniciais de tamanho 1.

Categoria: Language Fundamentals > Matrices and Arrays

Sintaxe

B = shiftdim(A)

Remove as dimensões iniciais de tamanho 1.

B = shiftdim(A, n)

Desloca as dimensões n posições à esquerda (ciclicamente); um n negativo acrescenta -n dimensões iniciais de tamanho 1.

[B, ns] = shiftdim(A)

Também retorna o número de dimensões removidas.

Descrição

Um caso comum é um array de tamanho 1 por 1 por k, produzido por fatiar um array 3-D; shiftdim o transforma em um vetor simples k por 1. Com n positivo as primeiras n dimensões vão para o fim, então um array de tamanho [2 3 4] deslocado por 1 tem tamanho [3 4 2]. Equivale a um permute com uma ordem rotacionada.

Argumentos de entrada

A
Array de qualquer tipo.
n
Número de posições do deslocamento; inteiro.

Argumentos de saída

B
Array com os mesmos elementos e dimensões deslocadas.
ns
Número de dimensões iniciais de tamanho 1 removidas.

Exemplo

x = ones(1, 1, 3);
size(shiftdim(x))
size(shiftdim(ones(2, 3, 4), 1))
size(shiftdim(ones(2, 3), -1))
Saída
ans = 1×2

     3     1
ans = 1×3

     3     4     2
ans = 1×3

     1     2     3

Veja também

permute squeeze reshape ipermute