본문 바로가기
programming language/SCILAB

Scilab 강좌 cell()

by 남성 2014. 5. 23.

MATLAB 에서와 마찬가지로 Scilab 에서도 cell 타입을 지원 합니다.

 

cell 타입은 특이하게도 모든 데이터 타입들을 다 저장 할 수 있는 데이터 타입입니다.

 

MATLAB 에서는 아래 포스팅에서 소개한 적이 있습니다.

 

Scilab 에서는 cell() 은 아래와 같이 m1,m2,….mn 의 다차원으로 정의 할 수 있습니다.


 

c = cell(m1, m2, ..., mn)

 

c = cell(3) 이라고 정의 하면 3 행 3열의 cell 을 정의합니다. 3 행 1열의 cell 을 정의하고 싶다면 c = cell(3,1) 이라고 정의 해야 합니다.

 

cell 의 차원을 알기 위해서는 아래와 같이 dims를 사용하거나 size() 함수를 사용하는 방법이 있습니다.

 

c.dims or size(c)

 

dims 로 차원을 확인해 보면 그 리턴 타입이 int32 입니다. 이런 경우 index 로는 사용 할 수 없다고 합니다.

 

size() 함수로 차원을 알아보면 동일한 결과가 나오지만 그 type 을 확인해 보면 double 인 것을 확인 할 수 있습니다. (type 의 결과가 1 인 것은 double 을 의미 합니다.) 따라서 인덱스로 사용할 수 있겠죠.

 

다음으로 cell 의 각 element 에 접근 하기 위해서는 괄호() 를 사용하는데 그냥 () 만 사용해서 나온 결과는 cell 입니다.

 

따라서 각 index의 값에 접근 하고 싶을 때는 entries 라는 키워드를 사용해야 합니다.


 

괄호는 sub cell 에 접근 할 때 사용합니다. 위 그림은 X 라는 3행 2열 cell 의 모든 행 1열에 b 라는 셀을 넣는 예입니다.


댓글0