MATLAB(Matrix Laboratory)은 MathWorks 사에서 C언어로 개발한 수치 해석, 행렬 연산, 신호 처리, 간편한 그래픽 기능 등의 프로그래밍 환경을 제공하는 공학용 Software이다. 주로 벡터, 행렬과 같은 자료를 사용하기 때문에 차원화(Dimensioning)할 필요가 없고, Fortran, C, Pascal 등의 기타 언어들을 사용하지 않고도 쉽게 계산할 수 있는 환경을 제공한다.
MATLAB에서는 M-file을 생성할 수 있다. 여기서 M-file은 매크로 파일인데 Interpreter 방식으로 실행되며 사용자가 명령어를 직접 작성하고 저장할 수 있는 파일이다. M-file에는 기본적인 명령어 뿐만 아니라 함수도 작성할 수 있고, 다른 매크로 파일들을 불러와서 작성할 수도 있다. M-file에는 Script 파일과 Function 파일 2가지 종류가 있으며, MATLAB의 내장된 Editor나 메모장을 통해 표준 ASCII 파일 형태로 작성한다. 여러 개의 매크로 파일로 나눠서 작성하고 다시 한 번에 불러올 수 있어서 큰 프로그램을 쉽게 다룰 수 있다.
👉 Matlab 사이트
❗ 사이트 로그인 시 캠퍼스 이메일을 사용하면 무료 다운로드 가능
👉 이후 Window / macOS / Linux용 다운로드 버튼 클릭
❗ 데이터를 입력할 때 변수를 지정, 변수를 지정하지 않으면 임의의 ans 변수에 저장됨
❗ 명령어 끝에 세미콜론(;)을 붙이면 명령창에 결과를 표시하지 않음
+
: 덧셈-
: 뺄셈*
: 곱셈.*
: 요소별 곱셈/
: 나눗셈 (오른쪽 값으로 나눔)./
: 요소별 나눗셈\
: 나눗셈 (왼쪽 값으로 나눔).\
: 요소별 나눗셈^
: 거듭제곱.^
: 요소별 거듭제곱'
: 켤레복소수 전치.'
: 일반 전치==
: 같음~=
: 다름>
: ~보다 큼>=
: ~보다 크거나 같음<
: ~보다 작음<=
: ~보다 작거나 같음&
: 논리 연산자(AND)|
: 논리 연산자(OR)~
: 논리 연산자(NOT)대괄호([])
로 감쌈쉼표(,)
혹은 공백
으로 한 행의 요소들을 구분세미콜론(;)
으로 여러 행을 구분쉼표(,)
와 세미콜론(;)
으로 서로 다른 배열을 결합할 수 있음ones(m,n), eye(m,n), zeros(m,n), rand(m,n), randn(m,n), magic(m,n)
함수로 행렬을 만들 수 있음배열 Indexing
콜론(:)
으로 배열 요소 여러 개를 참조하거나 등간격 배열 생성zeros(m,n) : 모든 요소가 0인 M x N 행렬 생성
ones(m,n) : 모든 요소가 1인 M x N 행렬 생성
eye(m,n) : 대각성분이 모두 1인 M x N 행렬 생성
rand(m,n) : 임의의 요소로 구성된 M x N 행렬 생성
randn(m,n) : 표준정규분포를 따르는 M x N 행렬 생성
diag(variable) : 행렬의 대각성분 추출 or 벡터를 대각 행렬로 만듦
❗ diag(variable,1) : 기존의 대각성분을 기준으로 바로 위의 대각성분 반환
rot90() : 행렬을 90도 돌림
fliplr() : 행렬을 왼쪽에서 오른쪽으로 뒤집음
flipud() : 행렬을 위에서 아래로 뒤집음
tril() : 행렬의 하삼각행렬 반환
triu() : 행렬의 상삼각행렬 반환
transpose() : 행렬의 전치행렬을 반환
sprand(m,n,den) : 전체 요소(m*n)의 den만큼 임의의 요소 생성 👉 Sparse Matrix 생성
full(variable) : 축약된 형태의 변수를 Matrix 형태로 반환
reshape(variable,m,n) : 행렬을 M x N 형태의 행렬로 변경
A(2,:) = [] : 행렬의 2번째 행을 지움
linspace(a,b,n) : a부터 b까지의 값을 등간격으로 나눈 n개의 요소(벡터) 반환 (a:(b-a)/(n-1):b와 같음)
inv(variable) : 행렬의 역행렬 반환
size() : 행렬의 크기 반환
length() : 행렬의 크기 중 가장 큰 값 반환
find() : 0이 아닌 요소의 index 반환
sort() : 배열의 요소 정렬
도
/ 아니면, 단위는 라디안
도
/ 아니면, 단위는 라디안
도
/ 아니면, 단위는 라디안
도
/ 아니면, 단위는 라디안
❗ 함수의 이름과 파일 이름이 같아야 함
function "출력 변수"="함수 이름"("입력 값...")
"명령어 내용"
end
✳️ exist name
: name(파일, 디렉토리 등)의 유형을 숫자로 반환
✳️ keyboard
: 실행 중인 프로그램을 일시 중지하고 키보드에 제어권 부여 👉 dbcont
로 실행 재개
for index = "범위"
"명령어 내용"
end
while "조건문"
"명령어 내용"
end
✳️ break
: 반복문 종료 (해당 반복문의 end 뒤에 오는 명령어로 이동)
✳️ continue
: continue 이후의 명령어를 실행하지 않고 바로 다음 반복 시작
✳️ return
: MATLAB이 컨트롤을 호출 함수에 강제로 반환하도록 함
if "조건1"
"명령어"
elseif "조건2"
"명령어"
else
"명령어"
end
switch "변수"
case "조건1"
"명령어"
case "조건2"
"명령어"
otherwise
"명령어"
end