본문 바로가기
programming language/MATLAB

MATLAB 주기함수 만드는 방법

by __observer__ 2019. 10. 10.
반응형

사인 코사인을 비롯해서 많은 주기 함수들이 있고 가끔씩은 MATLAB 을 사용하여 사용자 지정 주기 함수를 만들어야 되는 경우도 있습니다.

이러한 경우 주기를 만들기 위해서 MATLAB 함수중 나머지를 계산하는 mod(), rem() 과 같은 함수를 사용하게 되는데~ 둘 다 나머지를 계산하는 함수이지만 음수에 있어서 약간 계산이 다르게 됩니다.

다음 예를 보면 차이점을 정확히 알 수 있는데~ mod() 함수는 modulo 연산을 하기 때문에 음수 부분에서도 주기적으로 나오는 반면에 rem() 함수는 플러스 방향끼리 그리고 마이너스 방향 끼리만 주기적인 것을 확인할 수 있습니다.


f = @(t) mod(t, 4);

figure

fplot(f, [-10 10])

title('mod')

figure

f2 = @(t) rem(t, 4);

fplot(f2, [-10 10])

title('rem')

따라서 전체 x 구간에 대해서 주기적인 함수를 만들기 위해서는 mod() 함수를 사용해야 함을 알 수 있습니다.

물론 mod(t, P) 함수의 경우 0 부터 P 까지에 대해 주기성을 나타내는 함수를 만드는 것이므로 만약 함수의 정의가 -2 ~ +2 등과 같이 음수 축을 포함하는 주기함수의 경우 축을 0~4 의 범위로 변한 해 준 후에 사용하시면 될 것입니다.



반응형

댓글