circshift
배열을 순환적으로 이동(Shift Array Circularly)
설명
예제
열 벡터 요소 이동
숫자형 열 벡터를 만듭니다.
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
그 결과인 Y
는 A
와 같은 요소를 가지고 있지만 순서가 다릅니다.
배열에서 문자 이동하기
문자로 구성된 배열을 만들고 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
의 이동 값을 음수로 지정하십시오. 행렬 X
는 A
와 동일합니다.
X = circshift(Y,[-1 -1])
X = 4×4
1 1 0 0
1 1 0 0
0 0 0 0
0 0 0 0
입력 인수
A
— 입력 배열
벡터 | 행렬 | 다차원 배열
입력 배열로, 벡터, 행렬, 다차원 배열 중 하나로 지정됩니다.
데이터형: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
| logical
| char
| string
| struct
| table
| cell
복소수 지원 여부: 예
K
— 이동량
정수 스칼라 | 정수 벡터
이동량으로, 정수 스칼라 또는 정수 벡터로 지정됩니다.
K
를 정수로 지정하고dim
을 지정하지 않는 경우,circshift
는 크기가 1이 아닌 첫 번째 차원을 따라 이동합니다. 양수K
는 차원의 끝 방향으로 이동하고 음수K
는 차원의 시작 방향으로 이동합니다.K
를 정수 벡터로 지정하면K
의 N번째 요소가A
의 N번째 차원에 대한 이동량을 지정합니다.K
의 N번째 요소가 양수인 경우A
의 값이 N번째 차원의 끝 방향으로 이동합니다. N번째 요소가 음수인 경우에는 값이 시작 방향으로 이동합니다.
이동량이 A
의 대응하는 차원 길이보다 큰 경우 그 차원의 시작 위치로 다시 순환적으로 이동합니다. 예를 들어, 요소를 3개 가진 벡터를 +3 위치만큼 이동하면 해당 요소가 다시 원래 위치로 돌아갑니다.
dim
— 연산을 수행할 차원
양의 정수 스칼라
연산을 수행할 차원으로, 양의 정수 스칼라로 지정됩니다. 값이 지정되지 않은 경우 디폴트 값은 크기가 1이 아닌 첫 번째 차원입니다. dim
을 지정하는 경우 K
는 정수 스칼라여야 합니다. 일반적으로 dim = 1
을 지정하면 행이 순환적으로 이동하고, dim = 2
를 지정하면 열이 순환적으로 이동하는 방식입니다.
확장 기능
C/C++ 코드 생성
MATLAB® Coder™를 사용하여 C 코드나 C++ 코드를 생성할 수 있습니다.
사용법 관련 참고 및 제한 사항:
코드 생성 시 첫 번째 입력 인수에는 테이블과 셀을 사용할 수 없습니다.
GPU 코드 생성
GPU Coder™를 사용하여 NVIDIA® GPU용 CUDA® 코드를 생성할 수 있습니다.
스레드 기반 환경
MATLAB®의 backgroundPool
을 사용해 백그라운드에서 코드를 실행하거나 Parallel Computing Toolbox™의 ThreadPool
을 사용해 코드 실행 속도를 높일 수 있습니다.
이 함수는 스레드 기반 환경을 완전히 지원합니다. 자세한 내용은 스레드 기반 환경에서 MATLAB 함수 실행하기 항목을 참조하십시오.
GPU 배열
Parallel Computing Toolbox™를 사용해 GPU(그래픽스 처리 장치)에서 실행하여 코드 실행 속도를 높일 수 있습니다.
circshift
함수는 GPU 배열을 완전히 지원합니다. GPU에서 이 함수를 실행하려면 입력 데이터를 gpuArray
(Parallel Computing Toolbox)로 지정하십시오. 자세한 내용은 GPU에서 MATLAB 함수 실행하기 (Parallel Computing Toolbox) 항목을 참조하십시오.
분산 배열
Parallel Computing Toolbox™를 사용하여 대규모 배열을 클러스터의 결합된 메모리에 걸쳐 분할할 수 있습니다.
이 함수는 분산 배열을 완전히 지원합니다. 자세한 내용은 분산 배열을 사용하여 MATLAB 함수 실행 (Parallel Computing Toolbox) 항목을 참조하십시오.
버전 내역
R2006a 이전에 개발됨
MATLAB 명령
다음 MATLAB 명령에 해당하는 링크를 클릭했습니다.
명령을 실행하려면 MATLAB 명령 창에 입력하십시오. 웹 브라우저는 MATLAB 명령을 지원하지 않습니다.
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)