더북(TheBook)

3.2.1 간단한 미분 실습

이제 파이썬으로 간단한 함수를 미분해보자. 우선 다음과 같은 f 함수가 있다.

f(x) = 3x2 + 1

이 함수는 앞에서 살펴본 방법에 의해 x2항의 차수 2가 x2의 계수 3과 곱해지고, 차수 2에서 1을 뺀 것이 새로운 차수가 된다. 숫자는 미분하면 0이 되므로 미분의 결과는 6x가 된다. 파이썬의 심파이(SymPy)를 활용하면 쉽게 미분을 계산할 수 있다. 심파이는 파이썬에서 미적분과 같은 수학 계산을 지원하는 라이브러리이다. 설치하려면 1장에서 설명한 것처럼 아나콘다 프롬프트에서 pip install sympy를 입력하자.

>>> import sympy as sp
>>> x = sp.Symbol('x')
>>> print(sp.diff(3 * x**2 + 1, x))   # **는 파이썬에서 차수를 의미한다
6*x

앞의 코드는 3x2 + 1을 x로 미분하는 코드이다. 결과는 우리가 예상한 대로 6x가 나왔다.

다음과 같이 사이파이를 활용하는 방법도 있다. 사이파이는 파이썬에서 과학 계산을 위해 널리 사용되는 라이브러리로, 아나콘다에서는 별도로 설치할 필요 없이 바로 사용할 수 있다. 사이파이의 여러 하위 모듈 중에서도 misc에 있는 derivative 함수를 사용해보자. 이 기능을 사용하면 x의 특정 값, 예를 들어 x = 2에서 어떤 미분 값이 나오는지도 알 수 있다.

>>> from scipy.misc import derivative
>>> def f(x):                     # 원래 함수 정의
>>>     return 3*x**2+1
>>> def d(x):
>>>     return derivative(f, x)   # 미분한 함수
>>> print(d(2.0))
12.0

위 코드는 함수를 미분한 다음 x가 2일 때의 미분 값까지 계산하였다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.