% ' : Transpose matrix (complex matrix(unitary matrix)에서는 Hermitian transpose 반환)
% all : vector의 모든 원소가 참일 경우 1 반환
% any : vector의 1개 이상 원소가 참일 경우 1 반환
* all, any는 열 연산
% clc : 화면정리
% computer : computer type 반환
예) [C, MaxSize] = computer --> C는 computer type, MaxSize는 Maximum element size
% det : determinant(판별식) 반환
% diag(A) : A matrix의 diagonal matrix 반환
% dir 또는 ls : directory내 file list 반환
% error('message') : 에러시 'message' 뜨게함
% fix, floor : 소수점 이하 내림
% flipud : 행의 순서를 반대로 바꿈
% format : 화면 출력형식 지정
- format bank : 소수 2째자리까지 출력 ex) 1.33
- format compact : 공백 지움
- format hex : hexagonal 표현
- format long : 자세히 출력 ex) 1.3333333333
- format rat : 분수식 표현 ex) 1/3
- format short : default ex) 1.3333
- format short e : 지수형 ex) 1.3333e+000
% grid on / grid off : 그래프에서 격자를 보여주거나 없앰
% if문에서 논리식이 array이면 모든 원소가 true여야 true로 인정
% inf : 무한대
% inv : inverse matrix(역행렬) 반환
% isfinite : 유한크기 또는 NaN이 아닌 곳에 1 반환
% isinf : 무한크기 값에 대해 1 반환
% isnan : NaN이 위치한 곳에 1 반환
% more on : 한 개 또는 한 페이지의 command window 까지 display
% NaN : 값없음 예) 0/0 또는 inf/inf
% nargin : 함수의 입력매개변수 개수
% narout : 함수의 출력매개변수 개수
% pi : 원주율
% prod : vector 원소의 모든 곱 반환
% rem(A, B) : A를 B로 나눈 나머지
% try / catch / end : try중 error 발생시 catch 이후로 넘어감
% warning('message') : 'message' 출력후 다음 명령어 수행
% xor : exclusive OR
% eval : 문자열 수식 계산
ex) x=1; y='x+1'; z=eval(y) ---> z = 2
#### Array / Multi-dimensional array ####
Matlab은 2차원 이상의 array 지원
구성할 수 있는 요소로는 numeric, character, cell, structure 등
# 구성방식
- 일반 2차원 배열 만드는 방식으로 dimension 확장
예) A=[1,2;3,4]; A(:,:,2)=[5,6;7,8];
A(1,1,2) = 3;
# 다차원 배열을 만들어주는 함수
- ones(m,n,l,..) : mXnXlX..의 1로 구성된 다차원 배열 생성
- zeros : 0으로 구성된 배열
- rand : 0~1사이 난수
- randn : 표준정규분포의 난수
- repmat(A,[m,n,l..]) : A를 각 dimension에 m번, n번, l번... 반복하는 배열 생성
- cat(dim, A, B, C,..) : A,B,C..를 합성하여 차원이 dim인 새로운 배열로 합성
- reshape(A,[m,n]) : A를 [m,n] 차원의 배열로 재배열 *열을 기준으로 재배열 실시
#### String ####
문자열을 나타내는 데이터 형식
# 형 변환 함수
- double : double 형으로 변환
- char : chracter 형으로 변환
- int2str : integer를 string으로 변환
- hex2dec, dec2hex, bin2dec : 2진법, 10진법, 16진법 사이의 변환
* 변환시 hex, bin는 string으로 인식
# 문자열 합성 : []로 간단하게 합성
#### Cell Array ####
서로 다른 데이터 형식/크기을 저장할 수 있는 메커니즘.
# 생성방법
- 중괄호 사용 : A{1}=[1,2,3]; A{1,2}='abcde';
- cell 함수 사용 : A=cell(1,2) : cell array를 먼저 만듦
# Cell array 확인
- cellplot(CellArray,'legend') :
* 그냥 cell명+enter 하여도 cell에 대한 text의 설명 출력
# Cell의 첨자
- () : pointer를 참조 예)A(1,1) : (1,1)의 pointer
- {} : 내용을 참조 예)A{1,1} : (1,1)의 값
# Cell 지우기 : empty cell {}로 지우면 됨
# deal 함수
- [A,B,C,..] = deal(X,Y,Z,...) : A=X, B=Y,...
- [A,B,C,..] = deal(X{:}) : A=X{1},B=X{2},..
# 콜론(:) 사용법
- matrix와 같이 콜론(:)으로 대입/변환 등을 하지 못함
예) X{:}하면 X의 모든 List를 볼 수는 있음
변환, 대입시 []와 deal함수 사용 : [X{:}] = deal(5);
#### Struct ####
Database 등을 목적으로, cell의 숫자를 Text로 쉽게 access할 수 있도록 하는 array
Struct 및 Field는 "."으로 구분, Struct명 이후 (number)로 object 인식
예) a(1).name : a라는 struct name의 첫번째의 name Field
# Struct 구성
- field 할당문 사용 : a(1).name='Tom'
- struct 함수 이용 : struct('필드1','값1','필드2','값2'...)
# Field 지우기 : rmfield 함수 사용
예) A = rmfield(A,'a') : A에서 'a' Field 지움
# fieldnames : field name 확인
# deal 함수
- [A,B,C,..] = deal(X,Y,Z,..) : A=X, B=Y,..
- [A,B,C,..] = deal(X,field) : A=X(1).field, B=X(2).field,...
- [Y{:}] = deal(X.field) : Y{1}=X(1).field, Y{2}=X(2).field,..
- [X.field] = deal(Y)
# 콜론(:) 사용법
- struct도 cell과 같이 []를 통해 대입, 변환, 사용 가능
예) A(1).age = 10; A(2).age = 20;
mean([A(:).age]) or mean([A.age]) : 나이에 대한 평균
여기서 reshape 함수가 쓸만했다-ㅎ