Math/기초수학
기초수학 : 5. 삼각함수
bright jazz music
2022. 7. 16. 23:52
삼각함수의 쓰임
삼각함수를 이용해서 주기적으로 변화하는 값을 다룰 수 있다.
각도 θ가 사이각, a가 빗변, b가 밑변, c가 높이인 삼각형에서
- sinθ = c /a
- cosθ = b / a
- tanθ = c / a
위 세 가지를 삼각함수라고 한다.
삼각함수의 관계
- (sinθ)² + (cosθ)² = 1
- tanθ = sinθ / cosθ
θ의 단위
각도 θ의 단위는 라디안(rad)을 주로 사용한다. 계산이 쉽기 때문이다.
- 1rad(라디안)은 약 57.3도이다.
- π(=3.14159) 라디안이 180˚에 해당한다. (3.14 * 57.4 = 179.922...)
- 90˚는 π/2 라디안이다. (π/2 * 57.3 = 90.0066... )
실습 1
수식 y =sin x와 y=cos x의 코드를 각도 x에 따라 그래프에 그려보기
*주의 Numpy의 삼각함수(sin(), cos(), tan())의 인수는 라디안이다.
import numpy as np
import matplotlib.pyplot as plt
def my_sin(x):
return np.sin(x) #sin(x)
def my_cos(x):
return np.cos(x) #cos(x)
x = np.linspace(-np.pi, np.pi) # -π부터 π(라디안)까지
y_sin = my_sin(x)
y_cos = my_cos(x)
plt.plot(x, y_sin, label="sin")
plt.plot(x, y_cos, label="cos")
plt.legend()
plt.xlabel("x", size=14)
plt.ylabel("y", size=14)
plt.grid()
plt.show()
두 그래프 모두 y 값이 -1~1의 범위에서 곡선을 그린다.
sin()함수는 cos()함수를 x 방향으로 π/2 만큼 이동(shift)한 것과 같다.
*주의 : 1/2 만큼 이동한 것이 같다는 뜻이 아니다.
실습 2
NumPy 의 tan() 함수 사용. 인수 단위는 역시 라디안.
import numpy as np
import matplotlib.pyplot as plt
def my_tan(x):
return np.tan(x) #tan(x)
x = np.linspace(-1.3, 1.3) # -1.3부터 1.3(라디안)까지
y_tan = my_tan(x)
plt.plot(x, y_tan, label="tan")
plt.legend()
plt.xlabel("x", size=14)
plt.ylabel("y", size=14)
plt.grid()
plt.show()
- tan() 함수는 -π/2 보다 크고 π/2보다 작은 범위 안에서 변화한다.
- -π/2에 가까이 가면 무한히 감소한다.
- π/2에 가까이 가면 무한히 증가한다.
실습 3
import numpy as np
import matplotlib.pyplot as plt
def my_sin(x):
return np.sin(x) #sin(x)
def my_cos(x):
return np.cos(x) #cos(x)
x = np.linspace(-2*np.pi, 2*np.pi) # -2π부터 2π(라디안)까지
y_sin = my_sin(x)
y_cos = my_cos(x)
plt.plot(x, y_sin, label="sin")
plt.plot(x, y_cos, label="cos")
plt.legend()
plt.xlabel("x", size=14)
plt.ylabel("y", size=14)
plt.grid()
plt.show()
참고: https://ko.wikipedia.org/wiki/%EB%9D%BC%EB%94%94%EC%95%88