HomeAboutMeBlogGuest
© 2025 Sejin Cha. All rights reserved.
Built with Next.js, deployed on Vercel
장지원 페이지/
🗑️
Trash
/
장지원, JANG JIWON
장지원, JANG JIWON
/MATLAB/
Matlab onramp

Matlab onramp

 
matlab-certificate.pdf
347.4KB

기본

save filename : 파일 저장
clear : 작업 공간에서 모든 변수 지우기
load filename : 변수 다시 업로드
clc : 작업 공간 지우기

행렬 다루기

1. 기본 행렬 생성

a = [1 2] or a = [1,2] 는 행 벡터를 나타냄
a = [1;2] 는 열 벡터를 나타냄
x = [5 6 7;8 9 10] 이런식으로 작성하면, n차원 배열도 만들 수 있음
x = 1:4 ⇒ [1 2 3 4] 콜론 연산자를 사용하면, 더 쉽게 배열을 만들 수 있음 (파이썬과 인덱스 다루는 데에 살짝 차이가 있음)
x = 1:0.5:4 라고 작성하면, 간격이 0.5인 배열이 생성됨
x = linspace(1,10,5), linspace 연산자를 이용하면, 1부터 10 사이에 요소가 5개 들어가도록 배열을 구성할 수 있음
‘은 전치 연산자로써 사용됨, x=x’ 형태로 사용할 수 있음
 

2. random 행렬 생성

x = rand(5) : 5by5 matrix 생성
x = rand(1,2) : 1by2 matrix 생성
zeros 함수로 0 행렬도 생성 가능함
x = randi(20,5,7) : 1-20의 값을 가지는 5by7 matrix 생성
 

3. data에서 행렬 뽑아 오기

x = dataname(1,2) 하면, data에서 1행2열에 있는 값을 가져옴
x = dataname(end,3) 하면, 마지막 줄의 3열에 있는 값을 가져옴
dataname(:,2)는 두 번째 열 모든 값들을 의미함
volumes = data(:,end-1:end), 이런식으로 표기하면, 마지막 두 열을 포함하게 구할 수 있음
v2(1) = 0.5, 요소의 값을 변경 할 수 있음
 

4. 행렬의 연산

v2 = v1 + 1, v1에서 모든 요소에 1을 더한 새로운 벡터 만들 수 있음
max는 최댓값 구하는 함수
행렬의 요소 사이의 곱 연산을 원하면, ‘.*’ 연산자를 이용해야 함
행렬 곱 연산을 원하면, ‘*’ 연산자 이용
size는 data size를 의미함
[dr,dc] = size(data), 이런식으로 사용하면, 행과 열에 대한 모든 값 받아올 수 있음
numel : 데이터 갯수 받아올 수 있음
 

그래프 plotting

1. data 그래프에 삽입하기

plot(sample,mass1), 이 때 파라미터는 x축과 y축
plot(sample,mass2,"r*"), 이 때 마지막 파라미터는 그래프에 표시할 마커와 선, 그리고 색상을 의미함
(— : 파선, : : 점선, .- : 일 점 쇄선)
hold on 명령어를 사용하면, 마킹한 것 위에 또 마킹을 할 수 있음
hold on plot(sample,mass1,"ks") 이것과 같이 표기하면 OK
반대는 hold off 명령어를 사용하면 됨
plot(v1) 이런식으로 matrix나 vector를 파라미터로 입력해주면. 더 쉽게 그래프 그릴 수 있음
linewidth 함수로 간격 지정 가능 : plot(v1,"LineWidth",3)
plot(sample,v1,"ro-","LineWidth",4) : 지금까지 활용했던 파라미터 모두 넣을 수 있음
 

2. 그래프에 주석 달기

title : title(’name”) 이런식으로 제목 지정 가능
ylable : y축 라벨링 가능
legend : legend("Exp A", "Exp B") 이런식으로 범례 지정 가능
 

data 가져오기

load : data 가져올 수 있음
sortrow : 행 순으로 정렬 가능한 함수
test = pi<4 와 같이 T/F를 변수에 할당할 수도 있음
v=v1(v1<4) 이런식으로 filtering 해줄 수도 있음
v1(v1<4)=0 filtering 한 값들을 변경해 줄수도 있음
 

if/loop 문법

1. if문

if doPlot plot(density) title("Sample Densities") xticklabels(element) ylabel("Density (g/cm^3)") else disp("The density of " + element ... + " is " + density) end
위 문장에서 doplot=1일 때 문장이 실행 됨
파이썬과는 조금 다른 문법을 가지고 있음
 

2. for문

for idx = 1:7 hold on plot(idx,density(idx),'*') hold off pause(0.2) end
마찬가지로 파이썬과는 조금 다른 문법을 가지고 있음
 

MATLAB Onramp 요약

기본 구문

예제
설명
x = pi
등호(=)를 사용하여 변수를 만듭니다.좌변(x)은 우변의 값(pi)을 포함하는 변수 이름입니다.
y = sin(-5)
괄호를 사용하여 함수에 입력값을 전달할 수 있습니다.

데스크탑 관리

함수
예제
설명
save
save data.mat
현재 작업 공간을 MAT 파일로 저장합니다.
load
load data.mat
MAT 파일의 변수를 작업 공간으로 불러옵니다.
clear
clear
작업 공간에서 모든 변수를 지웁니다.
clc
clc
명령 창에서 모든 텍스트를 지웁니다.
format
format long
숫자형 출력값이 표시되는 방법을 변경합니다.

배열 유형

예제
설명
4
스칼라
[3 5]
행 벡터
[1;3]
열 벡터
[3 4 5;6 7 8]
행렬

요소 간 간격이 균일한 벡터

예제
설명
1:4
콜론(:) 연산자를 사용하여 1에서 4까지 간격이 1인 요소들로 구성된 벡터를 만듭니다.
1:0.5:5
1에서 4까지 간격이 0.5인 요소들로 구성된 벡터를 만듭니다.
linspace(1,10,5)
요소가 5개인 벡터를 만듭니다. 값의 범위는 1에서 10까지이며 간격이 균일합니다.

행렬 만들기

예제
설명
rand(2)
2개 행과 2개 열을 갖는 정사각 행렬을 만듭니다.
zeros(2,3)
2개 행과 3개 열을 갖는 사각 행렬을 만듭니다.

인덱싱

예제
설명
A(end,2)
마지막 행의 두 번째 열에 있는 요소에 액세스합니다.
A(2,:)
두 번째 행 전체에 액세스합니다.
A(1:3,:)
처음 3개 행의 모든 열에 액세스합니다.
A(2) = 11
배열의 두 번째 요소 값을 11로 변경합니다.

배열 연산

예제
설명
[1 1; 1 1]*[2 2;2 2] ans = 4 4 4 4
행렬 곱셈을 수행합니다.
[1 1; 1 1].*[2 2;2 2] ans = 2 2 2 2
요소별 곱셈을 수행합니다.

여러 출력값

예제
설명
[xrow,xcol] = size(x)
x의 행 개수와 열 개수를 두 개의 다른 변수에 저장합니다.
[xMax,idx] = max(x)
x의 최솟값과 그 인덱스 값을 계산합니다.

도움말 문서

예제
설명
doc randi
randi 함수에 대한 도움말 문서 페이지를 엽니다.

플로팅

예제
설명
plot(x,y,"ro-","LineWidth",5)
굵은 선 너비와 원(o) 마커를 사용하여빨간색(r) 파선(--)을 플로팅합니다.
hold on
기존 플롯에 다음 선을 추가합니다.
hold off
다음에 플로팅되는 선을 위해 새 좌표축을 만듭니다.
title("My Title")
레이블을 플롯에 추가합니다.

테이블 사용

예제
설명
data.HeightYards
테이블 data에서변수 HeightYards를 추출합니다.
data.HeightMeters = data.HeightYards*0.9144
기존 데이터에서 테이블 변수를 파생합니다.

논리형

예제
설명
[5 10 15] > 12
벡터를 값 12와 비교합니다.
v1(v1 > 6)
v1에서 6보다 큰 모든 요소를 추출합니다.
x(x==999) = 1
x에서 999에 해당하는 값을 모두 값 1로 바꿉니다.

프로그래밍

예제
설명
if x > 0.5 y = 3 else y = 4 end
x가 0.5보다 클 경우 y의 값을 3으로 설정합니다.그렇지 않을 경우 y의 값을 4로 설정합니다.
for c = 1:3 disp(c) end
루프 카운터(c)는값 1:3(1, 2 및 3)을 거칩니다.루프 본문은 c의 각 값을 표시합니다.