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