본문 바로가기
MATLAB

세 번째

by 파치카 2020. 7. 10.

저번에 벡터랑 매트릭스 할 때 깜빡한 게 있다.

 

벡터와 매트릭스가 있을 때 특정 행과 열에 있는 수를 찾는 법인데,

 

잘 쓰질 않아서 까먹었다.

 

예를 들어 [1 2 3 4 5 6 7 8 9] 라는 벡터가 있다고 할 때,

 

5번째에 있는 숫자가 궁금하다면

 

x = [1 2 3 4 5 6 7 8 9];

x(5) 라고 해주면 된다.

 

 

비슷하게 매트릭스

[1 2 3 4 5 6 7 8 9 10; 11 12 13 14 15 16 17 18 19 20; 21 22 23 24 25 26 27 28 29 30]

 

가 있다고 할 때,

 

2행 3열에 있는 수가 궁금하다면

 

x = [1 2 3 4 5 6 7 8 9 10; 11 12 13 14 15 16 17 18 19 20; 21 22 23 24 25 26 27 28 29 30]

 

x(2,3) 을 넣어주면 된다.

 

 

만약 특정 행에 있는 모든 숫자가궁금하다면

 

x(원하는 행, :) 를 넣어주면

 

 

이렇게 행 전체 값을 돌려준다.

 

반대로 특정 열에 있는 모든 숫자가 궁금하다면

 

반대로 x(:, 원하는 열) 를 넣어주면

 

이렇게 열 전체 값을 돌려준다.

 

 

 

MATLAB에는 이미 저장되어있는 function이 있다.

 

이런 걸 built in function 이라고 하는데

 

가장 대표적인 built in function 은 pi 이다.

 

근데 좀 독특한게,

 

pi는 이미 3.1416 이라고 저장되어있는데

 

pi = 3 이라고 하면 3.1416 값이 사라지고 3으로 된다.

 

 

별거 아니지만 알아두면 좋다.

 

마찬가지로 sin, cos, tan 커맨드도 변수로 따로 지정이 가능하다.

 

 

 

MATLAB으로 쉽게 삼각함수를 계산할 수 도 있는데

 

sin, cos, tan 를 이용해 계산 할 수가 있다.

 

근데 염려해야 할 게 있는데 그건 MATLAB은 기본적으로 라디안을 쓴다는 것이다.

 

예를들어 sine 의 45도는 0.7071 인데

 

MATLAB에서 sin(45) 를 입력하면

 

 

이렇게 0.7071이 나오지 않는다.

 

그럼 매번 degree에서 라디안으로 변환해서 넣어야 하느냐,

 

그건 또 아닌게 착하게도 MATLAB에서 그런 고생을 하지 않게 degree 로도 계산이 가능하게 만들었다.

 

sind, cosd, tand 를 쓰면 degree를 이용해서 계산이 가능하다.

 

 

공돌이 특성상 sin 과 sind 둘 다 쓸 일이 많기 떄문에 둘 다 알아두는 게 좋다.

 

 

 

 

MATLAB을 쓸 때, 코드를 써놓고 매번 실행하면 계속 커맨드윈도우에 결과값들이 쌓이기 마련이다.

 

정말 꼴보기 싫다. 그럴 때는 맨 처음에 clc 를 적어주면 된다.

 

clc는 커맨드 윈도우에 있는 모든 답들을 깨끗하게 지워주는 역할을 한다.

 

또, 만약 코드를 짜고 한 번 실행했다가 다른 코드를 실행하면 워크 스페이스에 변수값들이 계속 쌓인다.

 

계속 쌓이면 지저분해지는데 이럴 땐 맨 첫 줄에 clear 를 적어주면 매번 실행할 때 마다 워크 스페이스에 저장된 모든 변수들을 없애준다.

 

그래서 나는 매번 MATLAB 코드를 짤 때 clc, clear 을 적고 나서 시작한다. 적극 추천.

 

 

그리고 숙제나 기타 클럽활동에서 MATLAB을 쓸 때, 다른 사람이 보고 어떤 수식을 나타냈는지 설명해야하는데

 

매번 그러기 귀찮으니 MATLAB 코드 안에다가 설명을 넣어야 할 때가 있다.

 

그럴 땐, 짧게 적을 땐 % 를, 몇 줄 정도 적어야 할 땐 %{ %} 를 적어주면 된다.

 

 

 

 

 

 

다음 번엔 숫자 못한 거랑 plot 하는 법을 적어야지.

 

귀찮으면 숫자 관련 못한 것만

'MATLAB' 카테고리의 다른 글

다섯 번째  (0) 2020.07.10
네 번째  (0) 2020.07.10
두 번째  (0) 2020.07.10
글 옮기는 중  (0) 2020.07.10
첫 번째  (0) 2020.07.10

댓글