1강. 수식, 함수 구현 – sympy

이 글에서는 수식을 작성하는 데 유용한 파이썬 라이브러리인 sympy를 소개한다.

sympy란?

sympy는 기호와 관련된 수학을 위한 라이브러리다. 여기서 기호란,

x, \sum, \frac{d}{dx}, \int

와 같은 수학 기호를 말한다. sympy를 이용하면 문자 x에 관한 함수 f(x)에 대하여, 미분, 적분 등의 다양한 수학적 기능을 수행할 수 있다.

sympy 이용 예제

① 변수 설정

x, y, z를 변수로 설정하는 코드는 아래와 같다.

x,y,z = symbols("x y z")

② 대입

주어진 식에 값을 대입하는 과정도 간단하다. subs 메서드를 이용해 각 문자와 숫자값으로 이루어진 튜플을 담은 리스트를 전달해주면 된다. 예컨대 아래는 식

x^{3} + 4xyz - z

에 x, y, z에 각각 2, 4, 0을 대입하여 얻은 값을 출력하는 과정이다.

>>>expr = x**3 + 4*x*y*z - z
>>>expr.subs([x,2], [y,4], [z,0])
40

③ 어림값(근삿값) 계산

아래는

\sqrt{8}

의 근삿값을 구하는 과정이다.

>>>expr = sqrt(8)
>>>expr.evalf()
2.82842712474619

④ 미분

함수 y=cos(x)를 x에 대해 미분하는 것은 diff()내장함수를 쓰면 된다. 물론, 미리 x가 변수로 설정되어 있어야 한다 .

>>> diff( cos(x), x )
-sin(x)

⑤ 적분

부정적분은 integrate()함수를 쓴다.

>>> integrate( cos(x), x)
sin(x)

정적분도 가능하다.

>>> F = integrate( cos(x), x)
>>> area = F.subs(x,b) - F.subs(x,a)    # F(b)-F(a) 

⑥ 시각화

sympy가 주로 함수를 다루는 데 특화된 라이브러리이므로 당연히 함수 그래프를 그리는 기능도 지원한다. 아래는 다양한 예시이다.

예시1. y=x2 그래프 그리기

>>> from sympy.plotting import plot
>>> from sympy import *
>>> x = symbol('x')
>>> plot(x**2, line_color='red')

예시2. y=sinx, y=cosx 겹쳐 그리기

>>> plot( sin(x), cos(x), (x, pi, -pi) )


코멘트

댓글 남기기

Cha's Record에서 더 알아보기

지금 구독하여 계속 읽고 전체 아카이브에 액세스하세요.

계속 읽기