For Beginners

[matlab]으로 머신러닝 도전하기, 4 본문

2021 이전 자료들/MATLAB

[matlab]으로 머신러닝 도전하기, 4

.log 2019. 6. 24. 14:25
728x90

Learn MATLAB Episode #4: Functions & Constants

[출처] https://www.youtube.com/watch?v=0qoY8En53FY

이번 튜토리얼에서 우리가 다뤄볼 내용은 매트랩의 함수와 상수에 대한 내용이다.

사용자 함수를 사용하기 위해서 매트랩 내장 함수와 상수를 사용하는 것부터 시작해보자.

sin, cos, tan, expotential, square root등의 수학적 함수들을 사용하는 것은 생각보다 쉽다.

sin(0)은 0으로 뜨고,

cos(0)은 1로 뜬다.

tan(0)도 0으로 뜬다.

그래서 어떤 성분에 sin을 취해도 sin값을 잘 구할 수 있다.

 

expotential의 경우, exp(1)이런식으로 쓴다.

그래서 이 경우도 넣은 값에 대해서 잘 구하는 것을 볼 수 있다.

log(exp(1))은 1로 뜬다.

 

root값도 sqrt(1)이런식으로 쓸 수있다.

파이 값은 pi라고 쓰면 된다.

 

pi라는 변수를 선언하는 경우, 기존에 선언되어 있던 파이값이 재설정되기 때문에,

값을 바꾸기 위해서는 workspace에 있는 값을 삭제해주면 원래의 값으로 돌아온다.

 

 sqrt(-1)는 복소수를 출력하는데, 결과적으로 i의 경우, 복소수로 사용된다는 것을 알 수 있다.

그리고 주의해야 할 것은 대문자 I의 경우 단위행렬이라서 A*I는 A라는 것을 유념해야 한다.

그래서 내가 3 X 3크기의 단위행렬을 만들려면 eye(3)라고 입력하면 된다.

영행렬을 만들려면 zeros(3)이렇게 입력하면 된다.

 

그러면 이제 사용자 정의 함수를 정의하는 방법에 대해서 알아볼 건데,

먼저 사용자 정의 함수를 정의하기 위한 새 파일을 만드는데, NEW FUNCTION이라고 하면 된다.

그래서 우리가 함수를 만들 때, 출력값이 존재해야 하는 함수의 경우, OUTPUT_ARGUMENT라고 정의 내리면 된다.

만약 존재하지 않는다면, 지워야 한다.

 

예를 들어서 지금 SINH, 즉 하이퍼볼릭 사인 함수에 대한 값을 도출하는 함수를 만들려고 한다면,

function y = sinh( x )라고 정의할 수 있다

그리고 이 파일을 저장한다. function 이름이 곧 파일 이름이 된다.

overwrite를 하면 안좋으니까 mysinh라고 저장하면 될 것이다.

그래서 파일 이름을 rename한다.

 

이제 sinh에 대한 함수를 사용해보자.

이 함수를 어떻게 계산하는지에 대한 내용을 end전에 적고, 

이 함수가 어떤 내용을 담고 있는지 % 를 이용해서 주석을 달아준다.

그래서 이 함수를 사용하는 방법을 보았다.

 

하나의 예시를 더 보자.

마우스 오른쪽 버튼을 눌러서 new 버튼을 누르고, function을 추가하는 방식으로 할 수 있다.

매트랩이 새로운 function을 만들어 낸 것을 볼 수 있다.

그래서 untitled로 된 이름을 바꾸어주고, 

짝수인 경우에, 1을 출력하는 함수를 만들어준다.

is_even()이라는 것인데, 매트랩에서는 제공하지 않는 기능이다.

그래서 우리는 이거를 mod라는 기능을 이용해서 사용해 볼 것이다.

(a, 2)로 해서 0 과 1이 출력되게 하는데,

0이 출력되면 짝수가 된다. 근데 1을 출력하면 홀수가 된다.

그래서 결국 우리가 원하는 값의 정반대가 되는 것이라서,

0인 경우, 1을 1인 경우, 0을 출력하도록 한다.

 

이거는 단순히 mod()앞에 -를 붙이면 된다.

Comments