치트시트

MATLAB에서 데이터 구성 및 액세스

이 참조 자료는 대표적인 활용 사례를 중심으로 정리한 것으로, 모든 내용을 망라한 목록은 아닙니다.

데이터 표현
동종 데이터
데이터형 아이콘 목적 구문
double, single, (u)int8, (u)int16, (u)int32, (u)int64, complex
Double, single, complex
숫자형 배열, 행렬 계산, 수학 [1,2,3], [1;2;3], uint8(), int16()
String
String
텍스트 배열 "hello world"
Char
Char
단일 문자, 문자형 배열 'hello'
Categorical
Categorical
이산, 비숫자형 데이터 categorical()
Datetime
Datetime
표준 시간대 정보를 포함한 절대 날짜 및 타임스탬프 datetime('July 12, 2001 08:15:01')
Duration
기간
경과 시간 duration(h,m,s), hours(), minutes()
calendarDuration
calendarDuration
달력 기준 상대 시간 caldays(), calweeks()
Logical
Logical
참/거짓 값, 상태 테스트, 조건별로 데이터 식별 logical(), ==, ~=, >, >=, <, <=, &, &&, |, ||
기타 특수 데이터형
기타 특수 데이터형
희소형, 열거형, 사용자 지정, ... » 문서
이종 데이터
데이터형 아이콘 목적 구문
Table
Table
혼합 형식, 열 방향 데이터(스프레드시트와 유사).
메타데이터 저장
table(x,y,z), array2table
Timetable
Timetable
타임스탬프가 지정된 테이블 형식 데이터 timetable(t,x,y) table2timetable,array2timetable
Structure
Structure
필드마다 크기 및 형식이 다른 데이터 저장 가능. 비직사각형 데이터에 이상적. struct()
Cell array
Cell array
배열 내 각 셀에 임의의 데이터형 및 크기 저장 가능 cell(), {pi,ones(5), "hello"}
Tall array
Tall array
데이터가 메모리에 담을 수 없이 큰 경우 MATLAB 데이터형을 "tall"형으로 지정 가능 ds = datastore(), T = tall(ds)
Dictionary
Dictionary
고유한 키를 값에 매핑하는 객체 d = dictionary(keys,values)
데이터 선택
배열 인덱싱을 사용해 데이터를 선택합니다.  
1차원 배열의 선형 인덱싱:
X(1) 첫 번째 요소
X(end) 마지막 요소
 
 
 
다차원 배열의 행, 열 인덱싱:
A(1,2)
A(1,1,2)
   
   
벡터를 사용해 여러 요소 선택:
A([1,3],1)
   
   
   
콜론(:) 연산자를 사용해 범위 선택:
A(1:3,1)
A(:,1) 모든 행, 1열
A(1,:) 1행, 모든 열
A(1:2:end,:) 한 행 건너 하나씩 선택
   
   
   
배열에서 데이터 제거:
A(1,:) = [];
논리형 인덱싱

논리식을 사용해 데이터를 선택합니다.

X에서 7보다 큰 요소 선택:
Y = X(X > 7)

조건 결합
X(X > 3 & X <= 7)
X(X > 3 | X <= 7)

다차원 배열
조건을 사용해 행 또는 열 식별:
idx = X > 7;
X(idx, :)

테이블 및 타임테이블
T(:,vartype('numeric'))
TT(timerange(t1,t2),:)

컨테이너 인덱싱
인덱싱에 소괄호 ()를 사용하면 초기 데이터형이 유지됩니다. 중괄호 {}를 사용하면 내부에 저장된 실제 데이터에 액세스할 수 있습니다. 또한 테이블과 구조체는 이름을 사용해 데이터를 참조할 수 있습니다.

» 예제

유형 부분 집합 내용
Table 테이블 반환: T(1,2)
T(:,"A")
T(:,["A","B"])
내부 데이터 반환:
T{1,2}
T{:,"A"} T.A

T.Rows
T.Variables
Timetable 위와 동일:
TT("Apr 1,... 2004",5)
위와 동일:
TT.Time
Cell array 셀 반환:
C(1,2)
C{1,2}
C{:} -> 쉼표로 구분된 목록
Structure 구조체 반환:
S(1,1)
S.Field