Section: Array Generation and Manipulations
y = circshift(x,shiftvec)
where x
is an n-dimensional array, and shiftvec
is a vector of
integers, each of which specify how much to shift x
along the
corresponding dimension.
circshift
on N-dimensional
arrays.
--> x = int32(rand(4,5)*10) x = <int32> - size: [4 5] Columns 1 to 5 3 7 3 2 8 0 8 0 4 2 9 0 5 7 2 3 4 9 3 6 --> circshift(x,[1,0]) ans = <int32> - size: [4 5] Columns 1 to 5 3 4 9 3 6 3 7 3 2 8 0 8 0 4 2 9 0 5 7 2 --> circshift(x,[0,-1]) ans = <int32> - size: [4 5] Columns 1 to 5 7 3 2 8 3 8 0 4 2 0 0 5 7 2 9 4 9 3 6 3 --> circshift(x,[2,2]) ans = <int32> - size: [4 5] Columns 1 to 5 7 2 9 0 5 3 6 3 4 9 2 8 3 7 3 4 2 0 8 0 --> x = int32(rand(4,5,3)*10) x = <int32> - size: [4 5 3] (:,:,1) = Columns 1 to 5 2 7 6 2 9 1 2 2 7 0 3 7 1 3 0 9 1 7 7 9 (:,:,2) = Columns 1 to 5 4 6 9 9 3 0 3 5 0 4 4 5 0 2 6 9 1 4 0 4 (:,:,3) = Columns 1 to 5 1 5 6 9 1 7 9 6 4 6 5 2 0 6 8 0 8 5 4 3 --> circshift(x,[1,0,0]) ans = <int32> - size: [4 5 3] (:,:,1) = Columns 1 to 5 9 1 7 7 9 2 7 6 2 9 1 2 2 7 0 3 7 1 3 0 (:,:,2) = Columns 1 to 5 9 1 4 0 4 4 6 9 9 3 0 3 5 0 4 4 5 0 2 6 (:,:,3) = Columns 1 to 5 0 8 5 4 3 1 5 6 9 1 7 9 6 4 6 5 2 0 6 8 --> circshift(x,[0,-1,0]) ans = <int32> - size: [4 5 3] (:,:,1) = Columns 1 to 5 7 6 2 9 2 2 2 7 0 1 7 1 3 0 3 1 7 7 9 9 (:,:,2) = Columns 1 to 5 6 9 9 3 4 3 5 0 4 0 5 0 2 6 4 1 4 0 4 9 (:,:,3) = Columns 1 to 5 5 6 9 1 1 9 6 4 6 7 2 0 6 8 5 8 5 4 3 0 --> circshift(x,[0,0,-1]) ans = <int32> - size: [4 5 3] (:,:,1) = Columns 1 to 5 4 6 9 9 3 0 3 5 0 4 4 5 0 2 6 9 1 4 0 4 (:,:,2) = Columns 1 to 5 1 5 6 9 1 7 9 6 4 6 5 2 0 6 8 0 8 5 4 3 (:,:,3) = Columns 1 to 5 2 7 6 2 9 1 2 2 7 0 3 7 1 3 0 9 1 7 7 9 --> circshift(x,[2,-3,1]) ans = <int32> - size: [4 5 3] (:,:,1) = Columns 1 to 5 6 8 5 2 0 4 3 0 8 5 9 1 1 5 6 4 6 7 9 6 (:,:,2) = Columns 1 to 5 3 0 3 7 1 7 9 9 1 7 2 9 2 7 6 7 0 1 2 2 (:,:,3) = Columns 1 to 5 2 6 4 5 0 0 4 9 1 4 9 3 4 6 9 0 4 0 3 5