연속 및 비연속 배열 슬라이스
- 업데이트 날짜:2025-07-30
- 2분 (읽기 시간)
성능을 최적화하기 위해 LabVIEW는 때때로 특정 배열 함수에 연결한 배열에서 배열 슬라이스를 생성합니다. 배열 슬라이스는 한 배열에서 생성한 또다른 배열이며, 이 배열에는 원래 배열의 원소 일부가 포함되어 있습니다. 생성된 배열의 와이어 위로 커서를 이동할 때 나타나는 기본 도움말 윈도우에서 LabVIEW는 배열 슬라이스를 (부분)배열로 나타냅니다. 예를 들어, (1-D (부분)배열의)는 함수가 배열 슬라이스를 생성함을 뜻하고, (1-D 배열의)는 생성된 배열이 모든 원소를 포함함을 뜻합니다.
LabVIEW가 배열 슬라이스를 생성하는 경우, 생성된 배열 슬라이스는 데이터를 인접하게 저장하는 연속 배열 슬라이스이거나 데이터를 인접하지 않게 저장하는 비연속 배열 슬라이스일 수 있습니다. 배열 슬라이스를 이진 파일에서 미리 할당된 읽기 함수에 연결하는 경우, 이 함수는 사용하는 배열에 따라 다른 수준의 지원을 제공하므로 배열 슬라이스가 연속적인지 비연속적인지 알아야 할 수 있습니다.
LabVIEW가 생성하는 배열 슬라이스가 연속인지 비연속인지 알아내기
LabVIEW의배열 함수는 행-주요 순서로데이터에 액세스합니다. 배열의 원소를 행 우선 순위로 정렬하는 경우, LabVIEW는 메모리에서 이 배열을 연속적으로 나타냅니다. LabVIEW는 메모리에 다음 2D 배열을 0에서 15까지의 1D 라인으로 연속적으로 나타냅니다:
위의 배열을 [배열 인덱스] 함수에 연결하고 인덱스(행) 입력을 0으로 설정하는 경우, LabVIEW는 배열 또는 연속 배열 슬라이스를 반환합니다. LabVIEW는 이 값을 연속적인 메모리 오프셋 0, 1, 2, 3에서 나타내기 때문에 배열 슬라이스는 연속 슬라이스입니다.
위의 배열을 [배열 인덱스] 함수에 연결하고 인덱스(열) 입력을 0으로 설정하는 경우, LabVIEW는 배열 또는 비연속 배열 슬라이스를 반환합니다. LabVIEW는 이 값을 비연속적인 메모리 오프셋 0, 4, 8, 12에서 나타내기 때문에 배열 슬라이스는 비연속 슬라이스입니다.
다음 함수는 배열 슬라이스를 반환할 수 있습니다. 다음 함수가 배열 슬라이스를 반환하는 경우, 다음 가이드라인을 따라 LabVIEW가 연속 배열 슬라이스를 생성하는지 비연속 배열 슬라이스를 생성하는지 알 수 있습니다:
- [배열 부분 대체]―LabVIEW가 이 함수의 출력을 메모리에 연속적으로 나타내는 경우, 연속 배열 슬라이스를 생성합니다.
- [1D 배열 뒤집기]―배열을 이 함수에 연결하는 경우, 비연속 배열 슬라이스를 생성합니다. 이미 뒤집힌 배열 슬라이스를 이 함수에 연결하는 경우, 연속 배열 슬라이스를 생성합니다.
- [1D 배열 분리]―배열을 이 함수에 연결하는 경우, 연속 배열 슬라이스를 생성합니다. 비연속 배열 슬라이스를 이 함수에 연결하는 경우, 생성된 배열 슬라이스는 LabVIEW가 이 배열 슬라이스를 메모리에 어떻게 나타내는지에 따라 연속이 될 수도, 비연속이 될 수도 있습니다.
- [2D 배열 전치]―이 함수는 이미 전치된 배열을 연결하지 않는 한, 비연속 배열 슬라이스를 생성합니다.
- [클러스터를 배열로]―이 함수는 연속 배열 슬라이스를 생성합니다.
- [배열 인덱스]―이 함수는 배열을 열 방향으로 인덱스하도록 지정하지 않는 한, 연속 배열을 생성합니다.
- [1D 배열 데시메이트]―이 함수는 비연속 배열 슬라이스를 생성합니다.