Applies a circular shift along each dimension of a given array. The syntax for its use is
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.
The following examples show some uses of circshift on N-dimensional
arrays.
--> x = int32(rand(4,5)*10)
x =
<int32> - size: [4 5]
Columns 1 to 5
8 6 9 9 4
9 0 9 4 9
1 2 1 8 7
9 5 9 1 9
--> circshift(x,[1,0])
ans =
<int32> - size: [4 5]
Columns 1 to 5
9 5 9 1 9
8 6 9 9 4
9 0 9 4 9
1 2 1 8 7
--> circshift(x,[0,-1])
ans =
<int32> - size: [4 5]
Columns 1 to 5
6 9 9 4 8
0 9 4 9 9
2 1 8 7 1
5 9 1 9 9
--> circshift(x,[2,2])
ans =
<int32> - size: [4 5]
Columns 1 to 5
8 7 1 2 1
1 9 9 5 9
9 4 8 6 9
4 9 9 0 9
--> x = int32(rand(4,5,3)*10)
x =
<int32> - size: [4 5 3]
(:,:,1) =
Columns 1 to 5
6 6 6 2 6
0 7 1 0 3
8 7 7 0 9
9 3 0 8 0
(:,:,2) =
Columns 1 to 5
4 1 7 6 9
3 4 7 1 3
7 4 2 1 5
7 6 6 4 2
(:,:,3) =
Columns 1 to 5
7 8 1 8 1
2 9 2 2 2
5 5 8 9 6
6 1 2 3 4
--> circshift(x,[1,0,0])
ans =
<int32> - size: [4 5 3]
(:,:,1) =
Columns 1 to 5
9 3 0 8 0
6 6 6 2 6
0 7 1 0 3
8 7 7 0 9
(:,:,2) =
Columns 1 to 5
7 6 6 4 2
4 1 7 6 9
3 4 7 1 3
7 4 2 1 5
(:,:,3) =
Columns 1 to 5
6 1 2 3 4
7 8 1 8 1
2 9 2 2 2
5 5 8 9 6
--> circshift(x,[0,-1,0])
ans =
<int32> - size: [4 5 3]
(:,:,1) =
Columns 1 to 5
6 6 2 6 6
7 1 0 3 0
7 7 0 9 8
3 0 8 0 9
(:,:,2) =
Columns 1 to 5
1 7 6 9 4
4 7 1 3 3
4 2 1 5 7
6 6 4 2 7
(:,:,3) =
Columns 1 to 5
8 1 8 1 7
9 2 2 2 2
5 8 9 6 5
1 2 3 4 6
--> circshift(x,[0,0,-1])
ans =
<int32> - size: [4 5 3]
(:,:,1) =
Columns 1 to 5
4 1 7 6 9
3 4 7 1 3
7 4 2 1 5
7 6 6 4 2
(:,:,2) =
Columns 1 to 5
7 8 1 8 1
2 9 2 2 2
5 5 8 9 6
6 1 2 3 4
(:,:,3) =
Columns 1 to 5
6 6 6 2 6
0 7 1 0 3
8 7 7 0 9
9 3 0 8 0
--> circshift(x,[2,-3,1])
ans =
<int32> - size: [4 5 3]
(:,:,1) =
Columns 1 to 5
9 6 5 5 8
3 4 6 1 2
8 1 7 8 1
2 2 2 9 2
(:,:,2) =
Columns 1 to 5
0 9 8 7 7
8 0 9 3 0
2 6 6 6 6
0 3 0 7 1
(:,:,3) =
Columns 1 to 5
1 5 7 4 2
4 2 7 6 6
6 9 4 1 7
1 3 3 4 7