이 페이지의 최신 내용은 아직 번역되지 않았습니다. 최신 내용은 영문으로 볼 수 있습니다.

circshift

배열을 순환적으로 이동(Shift Array Circularly)

설명

예제

Y = circshift(A,K)는 배열 A의 요소를 K 위치만큼 순환적으로 이동합니다. K가 정수인 경우 circshift는 크기가 1이 아닌 A 의 첫 번째 차원을 따라 이동합니다. K가 정수 벡터인 경우 K의 각 요소는 A의 대응하는 차원의 이동량을 나타냅니다.

참고

K가 스칼라인 경우 circshift(A,K)의 디폴트 동작은 R2016b에서 변경되었습니다. R2016a 및 이전 릴리스의 동작을 유지하려면 circshift(A,K,1)을 사용하십시오. 이 구문은 함수 동작이 수행될 차원으로 1을 지정합니다.

예제

Y = circshift(A,K,dim)은 배열 A의 값을 차원 dim을 따라 K 위치만큼 순환적으로 이동시킵니다. 입력 인수 Kdim은 스칼라여야 합니다.

예제

모두 축소

숫자형 열 벡터를 만듭니다.

A = (1:10)'
A = 10×1

     1
     2
     3
     4
     5
     6
     7
     8
     9
    10

circshift를 사용하여 요소를 3위치만큼 이동합니다.

Y = circshift(A,3)
Y = 10×1

     8
     9
    10
     1
     2
     3
     4
     5
     6
     7

그 결과인 YA와 같은 요소를 가지고 있지만 순서가 다릅니다.

문자로 구성된 배열을 만들고 circshift를 사용하여 문자를 세 자리 이동합니다. Y에서는 문자의 순서가 다릅니다.

A = 'racecar';  
Y = circshift(A,3)
Y = 
'carrace'

왼쪽 맨 위에 1의 무리가 있는 숫자형 배열을 만듭니다.

A = [1 1 0 0; 1 1 0 0; 0 0 0 0; 0 0 0 0]
A = 4×4

     1     1     0     0
     1     1     0     0
     0     0     0     0
     0     0     0     0

circshift를 사용하여 A의 각 행을 오른쪽으로 한 자리 이동합니다.

Y = circshift(A,1,2)
Y = 4×4

     0     1     1     0
     0     1     1     0
     0     0     0     0
     0     0     0     0

각 차원에서 A 요소들의 위치를 한 자리씩 이동합니다. 이제 1 요소들이 행렬의 중앙으로 이동했습니다.

Y = circshift(A,[1 1])
Y = 4×4

     0     0     0     0
     0     1     1     0
     0     1     1     0
     0     0     0     0

1 요소들을 다시 원래 위치로 이동하려면 Y에서 circshift의 이동 값을 음수로 지정하십시오. 행렬 XA와 동일합니다.

X = circshift(Y,[-1 -1])
X = 4×4

     1     1     0     0
     1     1     0     0
     0     0     0     0
     0     0     0     0

입력 인수

모두 축소

입력 배열로, 벡터, 행렬, 다차원 배열 중 하나로 지정됩니다.

데이터형: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical | char | string | struct | table | cell
복소수 지원 여부:

이동량으로, 정수 스칼라 또는 정수 벡터로 지정됩니다.

  • K를 정수로 지정하고 dim을 지정하지 않는 경우, circshift는 크기가 1이 아닌 첫 번째 차원을 따라 이동합니다. 양수 K는 차원의 끝 방향으로 이동하고 음수 K는 차원의 시작 방향으로 이동합니다.

  • K를 정수 벡터로 지정하면 K의 N번째 요소가 A의 N번째 차원에 대한 이동량을 지정합니다. K의 N번째 요소가 양수인 경우 A의 값이 N번째 차원의 끝 방향으로 이동합니다. N번째 요소가 음수인 경우에는 값이 시작 방향으로 이동합니다.

이동량이 A의 대응하는 차원 길이보다 큰 경우 그 차원의 시작 위치로 다시 순환적으로 이동합니다. 예를 들어, 요소를 3개 가진 벡터를 +3 위치만큼 이동하면 해당 요소가 다시 원래 위치로 돌아갑니다.

함수 동작이 수행될 차원으로, 양의 정수 스칼라로 지정됩니다. 값이 지정되지 않은 경우 디폴트 값은 크기가 1이 아닌 첫 번째 차원입니다. dim을 지정하는 경우 K는 정수 스칼라여야 합니다. 일반적으로 dim = 1을 지정하면 행이 순환적으로 이동하고, dim = 2를 지정하면 열이 순환적으로 이동하는 방식입니다.

확장 기능

C/C++ 코드 생성
MATLAB® Coder™를 사용하여 C 코드나 C++ 코드를 생성할 수 있습니다.

참고 항목

| | |

R2006a 이전에 개발됨