랩뷰 배열

LebView / / 2016. 3. 20. 00:01

각각의 데이터를 따로 사용하기도 하지만, 한꺼번에 많은 데이터를 처리해야하는 경우가 훨씬 많이 발생한다. 이때는 배열이나 클러스터와 같은 기능을 사용하면 된다.

이 글에서는 그 중 배열기능에 대해 소개한다.

 

 

 

배열은 '컨트롤 팔레트'의 '배열,정렬,클로스터'에서 찾을 수 있다.

배열같은 데이터 형태만을 원소로 갖는 집합을 의미하여, 하나의 배열에는 숫자형과 문자열처럼 다른 형태의 데이터가 동시에 들어갈 수 없다.

 

 

 

배열을 입력하면, 프런트패널에는 회색의 빈박스가, 블록다이어그램에는 검정색(데이터의 종류가 정해지지 않음을 의미)의 터미널이 생성된다.

 

 

프런트패널의 빈 박스에 원하는 데이터의 컨트롤 또는 인디케이터를 넣어주면, 그 데이터의 종류에 맞추어 배열의 데이터종류가 결정되고, 아래의 그림처럼 터미널의 색상이 변경된다. 이때 배열이 컨트롤의 역할을 할지, 인디케이터의 역할을 할지도 함께 결정된다.

 

 

 

 

 

 

배열에는 차원이라는 것이 있다. 여기서 차원이란 우리가 흔히 알고 있는 것처럼, 1차원은 선, 2차원은 면, 3차원은 부피...로 생각하면 된다.

 

    

 

배열은 기본적으로 1차원의 형태로 생성된다. 위의 그림들은 각각 하나의 열, 하나의 행으로 표현된 1차원의 배열이다. 배열을 구성하는 각각의 값들을 원소라고 했을 때, 각 원소들의 위치가 인덱스로 정해진다. 그리고 이것은 좌측의 '인덱스 디스플레이'를 통해 확인할 수 있다. 이 곳에 나타난 숫자가 바로 현재 배열박스에서 가장 좌측 꼭대기에 표시된 원소의 위치(인덱스)이다. 높은 차원의 배열을 만들 때 이 인덱스 디스플레이는 굉장히 유용하게 사용된다.

 

다시 배열박스를 살펴보자. 밝은 흰색의 박스는 활성화된 칸, 회색의 박스는 불활성상태의 칸을 의미한다. 불활성박스를 클릭하면 자동으로 그 칸이 활성화된다. (높은 차원에서는 그 칸이 해당되는 행, 열 전체가 활성화 된다.) 활성화된 칸을 불활성화 시키고 싶다면 '바로가기 메뉴 > 데이터처리 > 행 또는 열 삭제'의 과정을 거치면 된다.

 

 

 

인덱스 디스플레이의 숫자는 곧 차원의 수이다. 즉, 차원을 높여주기 위해서는 원하는 차원의 수 만큼 인덱스 디스플레이를 드래그하여 늘려주면 된다.

 

 

위 그림은 2차원의 배열이다. 이 그림에 표시된 배열의 원소는 몇 개 일까? 15개? 원소의 개수를 눈에 보이는 활성화 칸의 개수로 생각하기 쉽지만, 실제로는 박스가 작아서 보이지 않는 활성화칸이 존재할 수 있다. 따라서 박스의 크기를 늘려 정확한 원소의 개수를 확인해주어야 한다. 하지만 배열의 크기가 커지면, 박스를 늘려 원소의 개수를 확인하는게 쉽지가 않다. 이때 이용할 수 있는 것이 인덱스 디스플레이이다. 아래의 그림처럼 인덱스 디스플레이에 숫자를 입력하여 화면의 위치를 이동시켜 표시되지 않던 활성창을 찾아낼 수 있다.

 

 

이때 주의 할 것은 배열에서 인덱스는 (1이 아닌) 0부터 시작한다는 것이다. 따라서 2행 3열의 숫자를 확인하고자 한다면 1과 2를 입력해야한다. 1과 2를 입력하면 (위 그림) 배열박스 좌측상단에 인덱스 디스플레이에 입력한 인덱스의 원소가 나타나고, 배열박스 전체의 위치도 그에 맞추어 이동한다.

 

2차원까지는 프런트패널의 화면에 나타낼 수 있으나, 3차원 이상의 배열은 평면에 나타낼 수 없으므로, 이 경우 인덱스 디스플레이의 필요성이 더 크게 느껴질 듯 하다.

 

 

 

 

이제 블록다이어그램으로 이동해보자. 배열 터미널들도 앞서 사용했던 데이터들처럼 노드 또는 터미널들끼리 연결하여 사용하면 된다. 이때 주의할 점은 연결되는 컨트롤과 인디케이터가 서로 같은 데이터를 사용하며 같은 차원, 형태의 배열이어야 한다는 것이다. 그림과 같이 높은 차원의 배열을 연결할 수록 와이어의 굵기가 굵어지는 것을 확인할 수 있다.

 

 

 

'LebView' 카테고리의 다른 글

랩뷰 열거형  (0) 2016.03.20
랩뷰 클러스터  (0) 2016.03.20
랩뷰 불리언 데이터, 기계적 동작  (0) 2016.03.19
랩뷰 문자열 데이터  (0) 2016.03.19
랩뷰 숫자형 데이터, 강제변환점  (0) 2016.03.19
  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기