circshift
circshift(A,shifts)
Circularly shift the data in an array. The second argument is a vector giving the amount to shift in each dimension.
Examples
-
Circularly shift a 1-dimensional array:
julia> arr = [1, 2, 3, 4, 5]; julia> circshift(arr, 2) 5-element Array{Int64,1}: 4 5 1 2 3This example circularly shifts the elements of the array
arrby 2 positions to the right. -
Circularly shift a 2-dimensional array:
julia> matrix = [1 2 3; 4 5 6; 7 8 9]; julia> circshift(matrix, (0, 1)) 3×3 Array{Int64,2}: 3 1 2 6 4 5 9 7 8It circularly shifts the elements of the 2-dimensional matrix
matrixby 1 position to the right along the second dimension. -
Perform circular shift along multiple dimensions:
julia> tensor = reshape(collect(1:27), 3, 3, 3); julia> circshift(tensor, (1, 0, -1)) 3×3×3 Array{Int64,3}: [:, :, 1] = 3 6 9 2 5 8 1 4 7 [:, :, 2] = 12 15 18 11 14 17 10 13 16 [:, :, 3] = 21 24 27 20 23 26 19 22 25This example showcases circular shifting of a 3-dimensional tensor
tensoralong all dimensions.
Common mistake example:
julia> arr = [1, 2, 3, 4, 5];
julia> circshift(arr, 7)
ERROR: BoundsError: attempt to access 5-element Array{Int64,1} at index [7]
In this example, the shift amount provided is greater than the size of the array. Ensure that the shift amount for each dimension is within the valid range to avoid such errors.
See Also
User Contributed Notes
Add a Note
The format of note supported is markdown, use triple backtick to start and end a code block.