계속해서 배열에 관한 내용을 알아보고 있는데요. 이전 글에서 배열 데이터란 무엇이고, 랩뷰 프로그램 안에서 어떻게 생성하는지를 알아보았습니다. 그렇다면 배열을 구성하는 데이터들을 자유롭게 참조하고, 또 변경하는 방법도 알아봐야 할텐데요. 이번 글에서 다룰 배열 인덱스 함수와 배열 부분 대체 함수를 통해 이런 작업들을 처리할 수 있습니다.
배열 인덱스 함수
배열 인덱스 함수는 위 그림에서 보시는 것과 같이 함수 팔레트에서 프로그래밍 → 배열 → 배열 인덱스를 선택하면 블록 다이어그램에 추가할 수 있습니다.
배열 인덱스라고 이름을 붙여놓아서 왠지 특정 데이터가 배열의 어떤 인덱스에 있는지를 스캔하는 함수처럼 보이지만, 배열 안에서 특정 인덱스의 데이터를 반환하는 용도로 사용하는 함수입니다. 그래서 참조할 배열과 참조할 인덱스 정보를 전달 받는 2개의 입력 터미널을 가지고 있구요. 입력된 정보에 따라 매칭되는 데이터가 출력 터미널을 통해 반환됩니다.
그래서 함수 자체의 사용 방법이 그렇게 어렵지 않기 때문에, 위 그림만 보더라도 어떻게 사용하는지를 충분히 이해하실 수 있을 것이구요. 다만, 랩뷰에서의 배열은 인덱스가 0부터 시작한다는 점만 기억하시면 됩니다.
배열 인덱스 함수는 고차원 배열에서도 사용할 수 있는데요. 함수의 입력 터미널로 연결된 배열 데이터의 차원에 따라 인덱스를 입력하는 터미널이 자동으로 추가되는데요. 위 그림에서 보시는 것과 같이 인덱스 입력 터미널이 추가되었다고 해서 의무적으로 인덱스 정보를 연결할 필요는 없습니다. 즉, 다차원 배열에 대해 활성화 되는 모든 인덱스 입력 터미널로 정보가 전달되면 함수는 해당 인덱스 정보에 해당하는 단일 데이터를 반환하구요. 일부 인덱스 입력 터미널을 비워놓게 되면 부분 배열을 반환하게 됩니다.
배열 부분 대체 함수
배열 인덱스 함수가 배열 내부의 특정 데이터를 읽어오는 함수였다면, 배열 부분 대체 함수는 특정 인덱스의 데이터를 변경하는 함수입니다.
배열 부분 대체 함수는 위 그림에서 보시는 것과 같이 함수 팔레트에서 프로그래밍 → 배열 → 배열 부분 대체를 선택하면 블록 다이어그램에 추가할 수 있구요.
앞에서 말씀드렸듯이 배열 내부의 데이터를 변경할 때 사용하는 함수이므로, 원본 배열이 전달되는 입력과 변경할 위치를 의미하는 인덱스 입력, 그리고 변경할 데이터를 입력하는 3개의 터미널을 가지고 있고, 이 정보들에 따라 데이터가 변경된 배열이 출력 터미널을 통해 반환됩니다.
지금까지 설명드린 내용을 참고해서 위 그림의 실행 결과를 보시면 쉽게 이해하실 수 있으리라 생각하구요. 랩뷰에서는 배열의 인덱스가 0부터 시작한다는 점을 다시 한 번 말씀드리오니 기억하시기 바랍니다.
아울러, 배열 부분 대체 함수 또한 고차원 배열에서도 사용할 수 있는데요. 함수의 입력 터미널로 연결된 배열 데이터의 차원에 따라 인덱스를 입력하는 터미널이 자동으로 추가됩니다. 배열 인덱스 함수와 마찬가지로 함수에 생성되는 모든 인덱스 입력 터미널에 데이터를 의무적으로 연결할 필요는 없지만, 단일 데이터를 대체하는지, 부분 배열을 대체하는지의 차이를 가질 수 있으니 이 점 참고하시기 바랍니다.
'Programming > LabVIEW' 카테고리의 다른 글
MAP 데이터 타입 (0) | 2024.05.27 |
---|---|
SET 데이터 타입 (0) | 2024.05.26 |
배열 초기화 & 배열 만들기 함수 (0) | 2024.05.25 |
SubVI (0) | 2024.05.24 |
Event 구조 (2) | 2024.05.23 |