더북(TheBook)

5.4.2 미적분

근 찾기 외에도 R에서 기본으로 제공하는 수치 해석 기법은 바로 미적분을 계산하는 것이다.

 

미분

D() 함수는 주어진 변수에 대한 함수의 미분식을 심벌릭하게 계산해 준다. 예를 들어 dx2 / dx를 유도해 보자.

> D(quote (x ^ 2), "x")
2 * x

dsin(x)cos(xy) / dx를 유도해 보자.

> D(quote(sin(x) * cos(x * y)), "x")
cos(x) * cos(x * y) - sin(x) * (sin(x * y) * y)

quote() 함수 덕분에 표현식 안의 기호를 직접 평가하는 대신 심벌릭하게 접근이 가능하다.

미분 결과 자체는 평가하지 않는 표현식이기에 eval()을 호출하여 필요한 모든 기호의 값이 주어진다면 이를 평가할 수 있다.

> z <- D(quote(sin(x) * cos(x * y)), "x")
> z
cos(x) * cos(x * y) - sin(x) * (sin(x * y) * y)
> eval(z, list(x = 1, y = 2))
[1] -1.75514
신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.