MATLAB Onramp review

Behumble.log·2023년 12월 27일
0

MATLAB

목록 보기
1/4
post-thumbnail

이 글은 MATLAB에서 제공하는 자기주도형 온라인 교육과정 "MATLAB Onramp"를 수료한 후 교육자료를 바탕으로 포스팅한 글입니다.

MATLAB Onramp

MATLAB Onramp는 MATLAB에서 제공하는 자기 주도형 온라인 교육과정으로 MATLAB의 기본 구문과 데스크탑 관리 방법, 행렬 연산과 플로팅 등 기본적인 사항들을 자기주도적으로 학습할 수 있습니다.

Review

1. 기본구문

예제설명
x=pi등호를 사용하여 변수를 만들 수 있으며, 좌변값은 우변 값을 포함하는 변수의 이름에 해당합니다.
y=tan(pi/2)괄호를 사용하여 함수에 입력값을 전달할 수 있습니다.

2. 데스크탑 관리

함수예제설명
savesave data.mat현재 작업 공간을 저장합니다.
loadload data.mat저장한 작업 공간을 불러옵니다.
clearclear현재 작업 중인 작업 공간을 비웁니다.
clcclc명령 창에 기록한 모든 text를 제거합니다.

3. 벡터와 행렬

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

행렬의 행을 구분하기 위해서는 세미콜론(;)을 사용합니다.

4. 콜론(:)연산자를 활용한 벡터

예제결과설명
1:5[1 2 3 4 5]콜론(:)연산자를 활용하여 1에서 5까지 간격이 1인 요소로 구성된 행 벡터를 생성합니다.
1:2:9[1 3 5 7 9]1에서 9까지 간격이 2인 행 벡터를 생성할 수 있습니다.
([1 2 3])'[1;2;3]어퍼스트로피(')를 활용하여 벡터 혹은 행렬의 전치(transition)를 만들 수 있습니다.
linspace(1,10,4)[1 4 7 10]linspace함수를 활용하면 1에서 10까지 4개의 스탭 요소로 구성된 벡터를 만들 수 있습니다.

5. 행렬 만들기

예제설명
randrand는 (0,1) 범위의 균등 분포(Uniform Distribution)에서 난수 스칼라를 반환합니다.
zeroszero는 스칼라 0을 반환합니다.
rand(x)x개의 행과 열을 가진 난수 스칼라를 요소로 갖는 정사각행렬을 만듭니다.
rand(x,y)x개의 행과 y개의 열을 가진 정사각행렬을 만듭니다.
zeros(x)x개의 행과 열을 가진 스칼라 0을 요소로 갖는 정사각행렬을 만듭니다.

6. 인덱싱

예제설명
A(x,y)행렬 A의 x번째 행, y번째 열에 해당하는 요소를 인덱싱합니다.
A(x,:)행렬 A의 x번째 행을 인덱싱할 수 있습니다.
A(:,y)행렬 A의 y번째 열을 인덱싱할 수 있습니다.
A(1:3,:)행렬 A의 1~3번째 행을 인덱싱할 수 있습니다.
A(x,y) = 5행렬 A의 x번째 행, y번째 열에 해당하는 요소 값을 5로 변경합니다.

7. 배열 연산

예제설명
A * B행렬 A와 행렬 B의 행렬곱을 계산합니다.
A .* B행렬 A와 행렬 B 각각의 요소별 곱셈을 계산합니다.

8. size, max, min 함수

예제설명
[xrow,xcol] = size(A)행렬 A의 행 개수와 열 개수를 두 변수에 저장합니다.
[xMax,idx] = max(A)행렬 A의 요소 중 값이 가장 큰 값과 그 값의 인덱스를 두 변수에 저장합니다.

- 행렬 A에서의 max값이 2개 이상이라면 index가 가장 작은 값을 기준으로 idx에 저장합니다.
- 만일 행렬 A의 size가 (4 5)라면, size가 4인 5개의 column로 이루어져 있으므로 xMax값과 idx값은 (15) size의 vector로 반환되며 각각의 값은 해당 column vector에 대해 Max값과 Max값의 index(즉, 몇 행에 Maxr값이 존재하는가)를 반환합니다.

9. 도움말 문서

MATLAB 사용 중 잘 모르는 함수가 있다면 우측 상단의 도움말 검색창을 활용할 수 있습니다. 이는 명령 창에서 doc함수를 이용해서도 검색할 수 있습니다. doc함수를 이용한다면 검색 시간이 단축될 수 있습니다.

예제설명
doc functionName도움말 문서에서 functionName이라는 함수를 검색할 수 있습니다.

10. Plotting

예제설명
plot(x,y,"ro-","LineWidth",3)x에 대한 y값을 플로팅할 수 있습니다. 선 사양에 대한 문서를 참고하면 ro-와 같이 마커 모양과 색깔, 선의 유형을 설정할 수 있습니다. LineWidth를 활용하여 선의 굵기을 설정할 수 있습니다.
hold on기존 플롯에 플로팅할 수 있습니다. 다양한 값들을 플로팅하여 비교할 때 활용합니다.
hold off기존 플롯에 플로팅을 멈추고 새로운 플롯에 플로팅합니다.
title("Title")제목에 관한 레이블을 플롯에 추가합니다.
xlabel("Xlabel")x축에 해당하는 레이블을 플롯에 추가합니다.
ylabel("Ylabel")y축에 해당하는 레이블을 플롯에 추가합니다.

11. 행렬에서의 논리연산

예제설명
[3 5 10] > 12행렬 각각의 요소값을 12와 비교한 결과(0,1)로 구성된 행렬을 반환합니다.
v1(v1<5)v1에서 5보다 작은 요소 요소를 추출합니다.
v2(v1>10)v1에서 10보다 작은 요소의 인덱스 자리에 해당하는 행렬 v2의 요소를 추출합니다.
x(x==10) = 1행렬 x에서 요소가 10인 값을 모두 1로 변환합니다.

12. 조건문과 반복문




Reference : https://matlabacademy.mathworks.com/kr/details/matlab-onramp/gettingstarted

0개의 댓글