ISSAC.Min

[Python Basic] 수학 모듈 (Math Module), 수학함수 (Math Function) - 삼각함수 본문

Programming Language/Python Basic

[Python Basic] 수학 모듈 (Math Module), 수학함수 (Math Function) - 삼각함수

ISSAC.M 2020. 11. 25. 13:47
반응형

수학 모듈 (Math Module)

파이썬에는 유용하게 사용할 수 있는 수학 내장 함수(Bulit In Function)이 존재합니다. 하지만 삼각함수, 로그, 쌍곡선, 상수 등과 같은 수학에 관련한 다양한 기능을 제공하지는 않습니다. 그러므로 파이썬에서는 수학 모듈(Math Module)을 제공합니다.

 

수학 모듈에는 다양한 수학 함수(Math Function)을 제공하며 아래와 같습니다.

 

- 수론 및 표현함수

- 지수와 로그함수

- 삼각함수

- 각도 변환

- 쌍곡선 함수

- 특수 함수

- 상수

 

수학 모듈은 수학 내장 함수(Bulit In Function)과 다르게 Math의 Importing 후에 Math.()을 통하여 사용하실 수 있습니다.

 

1
2
3
import math
 
print(math.ceil(1.234)) // print : 2
cs

 

 

 

삼각함수(Trigonometric Functions)

이번 포스팅에서는 삼각함수에 대해서 설명합니다. 수학모듈에서 제공하는 수학함수는 다음과 같습니다.

 

함수 설명 반환값
math.sin(x) x 라디안의 사인값을 반환합니다. sin(x)
math.cos(x) x 라디안의 코사인값을 반환합니다. cos(x)
math.tan(x) x 라디안의 탄젠트값을 반환합니다. tan(x)
math.asin(x) x의 아크 사인을 라디안 값으로 반환합니다. asin(x)
math.acos(x) x의 아크 코사인을 라디안 값으로 반환합니다. acos(x)
math.atan(x) x의 아크 탄젠트를 라디안 값으로 반환합니다. atan(x)
math.atan2(x) y/x의 아크 탄젠트를 라디안 값으로 반환합니다. atan(y/x)
math.dist(p, q) 두 점 p와 q 사이의 유클리드 거리를 반환합니다.(p와 q는 이터러블) root((p2-p1)^2+(q2 - q1)^2)
math.hypot(x, y) 가로 x 세로 y인 직각삼각형의 빗면의 유클리드 거리를 반환합니다. root(x^2 + y^2)

 

math.sin(x)

x의 값은 라디안값을 기준으로 하며 sin(x) 값을 반환합니다. 반환값은 -1부터 1사이의 float 값을 가집니다.

 

(입력)

 

1
2
3
4
5
import math
 
print("math.sin(0) = " + str(math.sin(0)))
print("math.sin(math.pi / 2) = " + str(math.sin(math.pi / 2)))
print("math.sin(math.pi / 4) = " + str(math.sin(math.pi / 4)))
cs

 

(출력)

 

 

math.cos(x)

x의 값은 라디안값을 기준으로 하며 cos(x) 값을 반환합니다. 반환값은 -1부터 1사이의 float 값을 가집니다.

 

(입력)

 

1
2
3
4
5
import math
 
print("math.cos(0) = " + str(math.cos(0)))
print("math.cos(math.pi / 2) = " + str(math.cos(math.pi / 2)))
print("math.cos(math.pi / 4) = " + str(math.cos(math.pi / 4)))
cs

 

(출력)

 

 

math.tan(x)

x의 값은 라디안값을 기준으로 하며 tan(x) 값을 반환합니다. 반환값은 -inf부터 +inf사이의 float 값을 가집니다.

 

(입력)

 

1
2
3
4
5
import math
 
print("math.tan(0) = " + str(math.tan(0)))
print("math.tan(math.pi / 2) = " + str(math.tan(math.pi / 2)))
print("math.tan(math.pi / 4) = " + str(math.tan(math.pi / 4)))
cs

 

(출력)

 

 

math.asin(x)

x의 크 사인을 라디안 값으로 반환합니다. 반환값은 -pi/2부터 pi/2사이의 float 값을 가집니다. 

 

(입력)

 

1
2
3
4
5
6
7
8
9
10
import math
 
print("math.asin(0) = " + str(math.asin(0)))
print("math.sin(math.asin(0)) = " + str(math.sin(math.asin(0))))
 
print("math.asin(1) = " + str(math.asin(1)))
print("math.sin(math.asin(1)) = " + str(math.sin(math.asin(1))))
 
print("math.asin(math.sqrt(2)/2) = " + str(math.asin(math.sqrt(2)/2)))
print("math.sin(math.asin(math.sqrt(2)/2)) = " + str(math.sin(math.asin(math.sqrt(2)/2))))
cs

 

(출력)

 

 

 

 

math.acos(x)

x의 아크 코사인을 라디안 값으로 반환합니다. 반환값은 0부터 pi/2사이의 float 값을 가집니다. 

 

(입력)

 

1
2
3
4
5
6
7
8
9
10
import math
 
print("math.acos(0) = " + str(math.acos(0)))
print("math.cos(math.acos(0)) = " + str(math.cos(math.acos(0))))
 
print("math.acos(1) = " + str(math.acos(1)))
print("math.cos(math.acos(1)) = " + str(math.cos(math.acos(1))))
 
print("math.acos(math.sqrt(2)/2) = " + str(math.acos(math.sqrt(2)/2)))
print("math.cos(math.acos(math.sqrt(2)/2)) = " + str(math.cos(math.acos(math.sqrt(2)/2))))
cs

 

(출력)

 

math.atan(x)

x의 아크 탄젠트를 라디안 값으로 반환합니다. 반환값은 -pi/2부터 pi/2사이의 float 값을 가집니다. 

 

(입력)

 

1
2
3
4
5
6
7
8
9
10
import math
 
print("math.atan(0) = " + str(math.atan(0)))
print("math.tan(math.atan(0)) = " + str(math.tan(math.atan(0))))
 
print("math.atan(1) = " + str(math.atan(1)))
print("math.tan(math.atan(1)) = " + str(math.cos(math.atan(1))))
 
print("math.atan(math.sqrt(2)/2) = " + str(math.atan(math.sqrt(2)/2)))
print("math.tan(math.atan(math.sqrt(2)/2)) = " + str(math.tan(math.atan(math.sqrt(2)/2))))
cs

 

(출력)

 

 

math.atan2(x)

y/x의 아크 코사인을 라디안 값으로 반환합니다. 반환값은 -pi부터 pi사이의 float 값을 가집니다. 

 

(입력)

 

1
2
3
4
import math
 
print("math.atan2(1, 1) = " + str(math.atan2(11)))
print("math.pi / 4 = " + str(math.atan2(11)))
cs

 

(출력)

 

 

math.dist(A, B)

점 A(p1, q1) 점 B(p2, q2)사이의 유클리드 거리를 반환합니다. 반환값은 float이며 반환 공식은 root((p2 - p1)^2 + (q2 - q1)^2)입니다.

 

(입력)

 

1
2
3
4
import math
 
print("math.dist((2, 1), (2, 0)) = " + str(math.dist((21), (20))))
print("math.dist((1, 1), (2, 2)) = " + str(math.dist((11), (22))))
cs

 

(출력)

 

 

math.hypot(x, y)

가로 x, 세로 y인 직각 삼각형의 빗면의 유클리드 거리를 반환합니다. 반환값은 float이며 반환 공식은 root(x^2 + y^2)입니다.

 

(입력)

 

1
2
3
4
import math
 
print("math.hypot(1, 1) = " + str(math.hypot(11)))
print("math.dist((0, 0), (1, 1)) = " + str(math.dist((00), (11))))
cs

 

(출력)

 

 

 

 

실습

 

 

 

반응형