상위 목록: 하위 목록: 작성 날짜: 읽는 데 13 분 소요

수학 모듈

Python에서는 수학 모듈을 이용하여 C/C++ 에서 while, for 등을 이용하여 구현해야 했던 함수들이 기본적으로 구현되어 있습니다.

수학 모듈을 사용한다면, 별도의 함수를 구성하지 않아도 수학적인 계산을 쉽게 해결할 수 있습니다.


import math

상단에 import math를 사용하여 수학 모듈을 포함시킵니다. 수학 함수의 사용방법은 math.*을 이용하여 사용이 가능합니다.


from math import *

위와 같이 import시킬 시 수학 함수를 사용할 때 math.를 입력하지 않아도 사용이 가능합니다.

* 대신 함수를 직접 적는다면 해당 함수만 사용이 가능합니다.


from math import pow

print(pow(3, 2))
print(sqrt(3))

pow()는 정상 출력이 되지만 sqrt()는 포함시키지 않아 에러가 발생합니다.



표현 함수

연산 의미
ceil(x) 올림
floor(x) 내림
trunc(x) 절사



삼각 함수

연산 의미
cos(x) 코사인
sin(x) 사인
tan(x) 탄젠트
acos(x) 아크코사인
asin(x) 아크사인
atan(x) 아크탄젠트
atan2(x, y) x/y 아크탄젠트
  • Tip : 라디안값으로 반환합니다.



하이퍼볼릭 함수

연산 의미
cosh(x) 하이퍼볼릭 코사인
sinh(x) 하이퍼볼릭 사인
tanh(x) 하이퍼볼릭 탄젠트
acosh(x) 하이퍼볼릭 아크코사인
asinh(x) 하이퍼볼릭 아크사인
atanh(x) 하이퍼볼릭 아크탄젠트
  • Tip : 라디안값으로 반환합니다.



각도 변환

연산 의미
degrees(x) 60분법으로 변환
radians(x) 호도법으로 변환



논리 함수

연산 의미
isclose(x, y, rel_tol=z) x와 y가 (z*1e+02)% 내외로 가까우면 True, 아니면 False
isinf(x) x가 inf이면 True, 아니면 False
isfinite(x) x가 inf, nan이면 False, 아니면 True
isnan(x) x가 nan이면 True, 아니면 False
  • Tip : isclose(x, y, rel_tol=z) 에서 rel_tol=z를 미입력시 기본값은 1e-09로 계산합니다. 두 값의 차이가 5% 이내라면 z=0.05를 사용합니다.



로그 함수

연산 의미
log(x, y) y를 밑으로 하는 x 로그
log10(x) 10을 밑으로 하는 x로그
log1p(x) e를 밑으로 하는 x+1로그
log2(x) 2를 밑으로 하는 x로그
  • Tip : log(x, y)에서 y를 미입력 시 밑을 e로 사용하여 자연로그로 이용합니다.



연산 함수

연산 의미
pow(x, y) x의 y승
sqrt(x) 루트 x
erf(x) 오차함수
      erfc(x)               여오차함수        
exp(x) e의 x승
expm1 e의 x-1승
frexp(x) x를 (가수부, 지수부)로 반환
ldexp(x, y) x*(2^y)
gamma(x) 감마함수
lgamma(x) 감마함수의 자연로그
factorial(x) 팩토리얼
fsum([x, y, z, …]) 리스트의 합
fmod(x, y) x를 y로 나눈 나머지
fabs(x) 절대값
gcd(x, y) x와 y의 최대공약수
hypot(x, y) 유클리드 놈을 반환
modf(x) x를 (소수부, 정수부)로 반환
copysign(x, y) y의 부호를 사용하는 x를 반환



상수

연산 의미
e e
pi π
tau τ
inf
nan Not a Number



함수 수식

erf(x) : 오차함수

$$ erf(x) = {2\over \sqrt\pi}\int_0^x e^{-t^2} dt $$


erfc(x) : 여오차함수

$$ erfc(x) = 1-erf(x) = {2\over \sqrt\pi}\int_x^\infty e^{-t^2} dt $$


frexp(x) : (가수부, 지수부) 반환

$$ frexp(x) = {가수부} \times 2^{지수부} $$


gamma(x) : 감마함수

$$ gamma(x) = \int_0^\infty {t^{x-1}} {e^{-t}} dt $$


hypot(x, y) : 유클리드 노름

$$ hypot(x, y) = {\sqrt{x^2 + y^2}} $$


댓글 남기기