MATLAB Shift Array
-
Mude um array usando a função
circshift()
no MATLAB - Mudar um array usando os índices de array no MATLAB
Este tutorial irá introduzir como deslocar um array manualmente e usando a função circshift()
no MATLAB.
Mude um array usando a função circshift()
no MATLAB
Se você quiser deslocar um array para a esquerda ou direita por um número específico de casas, você pode usar a função circshift()
, que muda o array dado circularmente por um número específico de casas. O primeiro argumento desta função é a matriz que você deseja deslocar e o segundo é o número de casas que deseja deslocar, que pode ser o número de colunas ou o número de linhas. Se o segundo argumento for um número negativo, a matriz será deslocada para a esquerda, caso contrário, para a direita. Por exemplo, vamos definir um array de 1 a 10 inteiros e deslocá-lo para a esquerda usando a função circshift()
. Veja o código abaixo.
myArray = 1:10
shifted_array = circshift(myArray,[1,-3])
Resultado:
myArray =
1 2 3 4 5 6 7 8 9 10
shifted_array =
4 5 6 7 8 9 10 1 2 3
O segundo argumento especifica que queremos deslocar para a esquerda a primeira linha em três lugares no código acima. Você também pode deslocar colunas se tiver um array.
Mudar um array usando os índices de array no MATLAB
Se você deseja deslocar um array para a esquerda ou direita por um número específico de lugares e um novo elemento em algum lugar na matriz, você pode usar os índices do array. Por exemplo, vamos definir um array de 1 a 10 inteiros e deslocá-la para a esquerda usando os índices do array. Veja o código abaixo.
myArray = 1:10
shifted_array = [myArray(4:end) myArray(1:3)]
Resultado:
myArray =
1 2 3 4 5 6 7 8 9 10
shifted_array =
4 5 6 7 8 9 10 1 2 3
No código acima, end
é usado para especificar o final do array. Você também pode deslocar colunas se tiver um array. Agora, vamos deslocar o array um lugar para a esquerda e adicionar um novo elemento no final do array e deletar o primeiro elemento. Veja o código abaixo.
myArray = 1:10
element = 11
shifted_array = [myArray(2:end) element]
Resultado:
myArray =
1 2 3 4 5 6 7 8 9 10
element =
11
shifted_array =
2 3 4 5 6 7 8 9 10 11
No código acima, end
é usado para especificar o final do array.