치트시트

MATLAB 기본 함수 참조표

MATLAB으로 Python을 강화하세요

MATLAB의 고급 툴을 여러분의 Python 워크플로에 직접 통합할 수 있습니다.

MATLAB 환경

clc 명령 창 지우기
help fun fun에 대한 인라인 도움말 표시
doc fun fun에 대한 문서 열기
load("filename","vars") .mat 파일에서 변수 불러오기
uiimport("filename") 대화형 가져오기 툴 열기
save("filename","vars") 파일에 변수 저장
clear item 작업 공간에서 항목 제거
examplescript 이름이 examplescript인 스크립트 파일 실행
format style 출력 표시 형식 설정
ver 설치된 툴박스 목록 가져오기
tic, toc 타이머 시작 및 중지
Ctrl+C 현재 계산 중단

배열 변수 정의 및 변경

a = 5 값이 5인 변수 a 정의

A = [1 2 3; 4 5 6]

A = [1 2 3

4 5 6]

“공백”으로 열을 구분하고 “;” 또는 줄바꿈으로 행을 구분하여 A를 2x3 행렬로 정의
[A,B] 가로로 배열 결합
[A;B] 세로로 배열 결합
x(4) = 7 x의 4번째 요소를 7로 변경
A(1,3) = 5 A(1,3)을 5로 변경
x(5:10) x의 5~10번째 요소 가져오기
x(1:2:end) x에서 첫 번째 요소부터 마지막 요소까지 하나씩 건너뛰며 가져오기
x(x>6) 6보다 큰 요소 나열
x(x==10)=1 조건을 사용해 요소 변경
A(4,:) A의 4번째 행 가져오기
A(:,3) A의 3번째 열 가져오기
A(6, 2:5) A의 6번째 행에서 2~5번째 요소 가져오기
A(:,[1  7])=A(:,[7  1]) 1번째와 7번째 열을 서로 바꾸기
a:b [a, a+1, a+2 …, a+n], 단 a+n≤b
a:ds:b 요소 간 간격이 ds로 균일한 벡터 생성
linspace(a,b,n) n개의 균일한 간격의 값을 갖는 벡터 생성
logspace(a,b,n) n개의 로그 간격의 값을 갖는 벡터 생성
zeros(m,n) m×n 크기의 영행렬 생성
ones(m,n) mxn 크기의 1로 구성된 행렬 생성
eye(n) nxn 크기의 단위 행렬 생성
A=diag(x) 벡터에서 대각 행렬 생성
x=diag(A) 행렬의 대각 요소 가져오기
meshgrid(x,y) 2차원 및 3차원 그리드 생성
rand(m,n), randi 균등분포된 정수로 구성된 난수 행렬 생성
randn(m,n) 정규분포된 난수 행렬 생성

연산자 및 특수 문자

+, -, *, / 행렬 수학 연산
.*, ./ 배열 곱셈 및 나눗셈 (요소별 연산)
^, .^ 행렬 및 배열 거듭제곱
\ 왼쪽 나눗셈 또는 선형 최적화
.', ' 일반 및 켤레 복소수 전치
==, ~=, <, >, <=, >= 관계 연산자
&&, ||, ~, xor 논리 연산 (AND, NOT, OR, XOR)
; 출력 표시 안 함
... 코드 라인 연결 (줄바꿈 포함)
% Description 주석
'Hello' 문자형 벡터 정의
"This is a string" string형 정의
str1 + str2 string형 결합

특수 변수 및 상수

ans 가장 최근에 얻은 답
pi π=3.141592654… 
i, j, 1i, 1j 허수 단위
NaN, nan 숫자 아님 (예: 0으로 나누기)
Inf, inf 무한
eps 부동소수점 상대 정확도

복소수

i, j, 1i, 1j 허수 단위
real(z) 복소수의 실수부
imag(z) 복소수의 허수부
angle(z) 위상각 (단위: 라디안)
conj(z) 요소별 켤레 복소수
isreal(z) 배열의 실수 여부 판별

기초 함수

sin(x), asin 사인 및 역사인 함수 (인수 단위: 라디안)
sind(x), asind 사인 및 역사인 함수 (인수 단위: 도)
sinh(x), asinh 쌍곡사인 및 역쌍곡사인 함수 (인수 단위: 라디안)
기타 삼각 함수에도 동일하게 적용: cos, tan, csc, sec, cot
abs(x) x의 절댓값, 복소수 크기
exp(x) x의 지수
sqrt(x), nthroot(x,n) 제곱근, 실수의 실수 n제곱근
log(x) x의 자연 로그
log2(x), log10 각각 밑이 2와 10인 로그
factorial(n) n의 계승
sign(x) x의 부호
mod(x,d) 나눗셈의 나머지 (모듈로)
ceil(x), fix, floor +inf, 0, -inf 방향으로 올림/내림
round(x) 가장 가까운 소수 자릿수 또는 정수로 반올림

플로팅

plot(x,y,LineSpec)
선 스타일: -, --, :, -.
마커: +, o, *, ., x, s, d
색: r, g, b, c, m, y, k, w
x에 대해 y 플로팅
(LineSpec은 선택 사항)
LineSpec은 문자열로 표현된 linestyle, marker, color의 조합입니다.
예: "-r" = 마커 없는 빨간색 실선
title("Title") 플롯 제목 추가
legend("1st", "2nd") 좌표축에 범례 추가
x/y/zlabel("label") x/y/z 축 레이블 추가
x/y/zticks(ticksvec) x/y/z 축 눈금 가져오기 또는 설정
x/y/ztickangle(angle) x/y/z 축 눈금 레이블 회전
x/y/zlim x/y/z 축 범위 가져오기 또는 설정
axis(lim), axis style 축 제한 및 스타일 설정
text(x,y,"txt") 텍스트 추가
grid on/off 축 그리드 표시
hold on/off 새 플롯을 추가할 때 현재 플롯 유지
subplot(m,n,p),
tiledlayout(m,n)
타일 형식 위치로 좌표축 생성
yyaxis left/right 두 번째 y축 생성
figure Figure 창 생성
gcf, gca 현재 Figure 가져오기, 현재 축 가져오기
clf 현재 Figure 지우기
close all 열려 있는 Figure 닫기

테이블

table(var1,...,varN) 변수 var1, ..., varN이 있는 데이터로 테이블 생성
readtable("file") 파일에서 테이블 생성
array2table(A) 숫자형 배열을 테이블로 변환
T.var 변수 var에서 데이터 추출
T(rows,columns),
T(rows,["col1","coln"])
T에 지정된 행과 열로 새 테이블 생성
T.varname=data T의 (새) 열에 데이터 할당
T.Properties T의 속성에 액세스
categorical(A) categorical형 배열 생성
summary(T), groupsummary 테이블 요약 출력
join(T1, T2) 공통 변수로 테이블 조인

작업 (라이브 편집기)

라이브 편집기 작업은 일련의 특정 작업을 대화형 방식으로 수행하기 위해 라이브 스크립트에 추가할 수 있는 앱입니다. 작업은 일련의 MATLAB 명령을 나타냅니다. 작업이 실행하는 명령을 보려면 생성된 코드를 표시하면 됩니다.

데스크탑 툴스트립의 라이브 편집기 탭에서 사용할 수 있는 일반적인 작업은 다음과 같습니다.

  • 누락된 데이터 정리
  • 변화 지점 찾기
  • 추세 제거
  • 이상값 정리
  • 국소 극값 찾기
  • 데이터 평활화

프로그래밍 방법

함수
% Save your function in a function file or at the end 
% of a script file. Function files must have the 
% same name as the 1st function 
function cavg = cumavg(x) %multiple args. possible
 cavg=cumsum(x)./(1:length(x)) ; 
end
익명 함수
% defined via function handles 
fun = @(x) cos(x.^2)./abs(3*x);

제어 구조

if, elseif, 조건문
if n<10
 disp("n smaller 10") 
elseif n<=20 
 disp("n between 10 and 20") 
else 
 disp("n larger than 20")
Switch Case 구문
n = input("Enter an integer: "); 
switch n 
 case -1
 disp("negative one")
 case {0,1,2,3} % check four cases together 
 disp("integer between 0 and 3") 
 otherwise
 disp("integer value outside interval [-1,3]") 
end % control structures terminate with end
For 루프
% loop a specific number of times, and keep
% track of each iteration with an incrementing
% index variable 
for i = 1:3 
 disp("cool"); 
end % control structures terminate with end
While 루프
% loops as long as a condition remains true 
n = 1; 
nFactorial = 1; 
while nFactorial < 1e100 
 n = n + 1; 
 nFactorial = nFactorial * n; 
end % control structures terminate with end

추가 프로그래밍/제어 명령

break for 루프 또는 while 루프 실행 종료
continue 루프의 다음 반복으로 제어 전달
try, catch 명령문 실행 및 오류 발견

수치 방법

fzero(fun,x0) 비선형 함수의 근
fminsearch(fun,x0) 함수의 최솟값 찾기
fminbnd(fun,x1,x2) [x1, x2]에서 함수의 최솟값 찾기
fft(x), ifft(x) 고속 푸리에 변환 및 역변환

적분 및 미분

integral(f,a,b) 수치 적분 (2차원 및 3차원에 대한 유사 함수 존재)
trapz(x,y) 사다리꼴 수치 적분
diff(X) 차분 및 근사 도함수
gradient(X) 수치적 기울기
curl(X,Y,Z,U,V,W) 회전 및 각속도
divergence(X,...,W) 벡터장의 발산 계산
ode45(ode,tspan,y0) 비경직성(Nonstiff) 연립 ODE 풀기
ode15s(ode,tspan,y0) 경직성(Stiff) 연립 ODE 풀기
deval(sol,x) 미분 방정식의 해 계산
pdepe(m,pde,ic,...bc,xm,ts) 1차원 편미분 방정식 풀기
pdeval(m,xmesh,...usol,xq) 수치적 PDE 해 보간

보간 및 다항식

interp1(x,v,xq) 1차원 보간 (2차원 및 3차원에 대한 유사 함수 존재)
pchip(x,v,xq) 조각별 3차 에르미트 다항식 보간
spline(x,v,xq) 3차 스플라인 데이터 보간
ppval(pp,xq) 조각별 다항식 계산
mkpp(breaks, coeffs) 조각별 다항식 만들기
unmkpp(pp)  조각별 다항식의 세부 정보 추출
poly(x) 지정된 근 x를 갖는 다항식
polyeig(A0,A1,...,Ap) 다항식 고유값 문제의 고유값
polyfit(x,y,d) 다항식 곡선 피팅
residue(b,a) 부분 분수 전개/분해
roots(p) 다항식 근
polyval(p,x) 점 x에서 다항식 p 계산
polyint(p,k) 다항식 적분
polyder(p) 다항식 미분

행렬 및 배열

length(A) 가장 큰 배열 차원의 길이
size(A) 배열 차원
numel(A) 배열의 요소 개수
sort(A) 배열 요소 정렬
sortrows(A) 배열 또는 테이블의 행 정렬
flip(A) 배열 내 요소의 순서 뒤집기
squeeze(A) 길이가 1인 차원 제거
reshape(A,sz) 배열 형태 변경
repmat(A,n) 배열의 복사본 반복
any(A), all 어떤/모든 요소가 0이 아닌지 검사
nnz(A) 0이 아닌 배열 요소의 개수
find(A) 0이 아닌 요소의 인덱스 및 값

기술 통계량

sum(A), prod 합 또는 곱 (열 기준)
max(A), min, bounds 최대 및 최소 요소
mean(A), median, mode 통계 연산
std(A), var 표준편차 및 분산
movsum(A,n), movprod, movmax, movmin, movmean, movmedian, movstd, movvar 이동 통계 함수 n = 이동 윈도우의 길이
cumsum(A), cumprod, cummax, cummin 누적 통계 함수 
smoothdata(A) 잡음 있는 데이터 평활화
histcounts(X) 히스토그램 Bin 도수 계산
corrcoef(A), cov 상관 계수, 공분산
xcorr(x,y), xcov 상호상관, 교차공분산
normalize(A) 데이터 정규화
detrend(x) 다항식 추세 제거
isoutlier(A) 데이터에서 이상값 찾기

선형대수학

rank(A) 행렬의 랭크
trace(A) 행렬의 대각 요소의 합
det(A) 행렬의 행렬식
poly(A) 행렬의 특성 다항식
eig(A), eigs 행렬의 고유값 및 백터 (부분 집합)
inv(A), pinv 행렬의 역행렬 및 의사 역행렬
norm(x) 벡터 또는 행렬의 노름
expm(A), logm) 행렬 지수 및 로그
cross(A,B) 외적
dot(A,B) 내적
kron(A,B) 크로네커 텐서 곱
null(A) 행렬의 영공간
orth(A) 행렬 범위의 정규 직교 기저
tril(A), triu 행렬의 하부 삼각 및 상부 삼각 부분
linsolve(A,B) AX = B 형식의 선형 연립방정식 풀기
lsqminnorm(A,B) 선형 방정식의 최소제곱해
svd(A) 특이값 분해
gsvd(A,B) 일반화된 SVD
rref(A) 행렬의 기약행 사다리꼴

기호 수학*

sym x, syms x y z 기호 변수 선언
eqn = y == 2*a + b 기호 방정식 정의
solve(eqns,vars) 변수의 기호 표현식 풀기
subs(expr,var, val) 표현식에서 변수 대입
expand(expr) 기호 표현식 전개
assume(var, assumption) 변수에 대한 가정 설정
assumptions(z) 기호 객체에 대한 가정 표시
fplot(expr), fcontour, fsurf, fmesh, fimplicit 기호 객체에 대한 플로팅 함수
diff(expr,var,n) 기호 표현식 미분
dsolve(deqn,cond) 기호를 사용해 미분 방정식 풀기
int(expr,var,[a, b]) 기호 표현식 적분
taylor(fun,var,z0) 함수의 테일러 전개