R: Integration using R integrate() function

This post demonstrates the usage of a numerical integration function in R, integrate(), accompanied by an example featuring a slope factor-related term.




Numerical Integration in R



Given a slope factor-related term as the integrand, an analytical solution exists.

R code


The supplied R code executes numerical integration via the integrate() function in R, while additionally showcasing analytical integration through the closed-form expression for the given problem.

#-------------------------------- 
# Integrand
#-------------------------------- 
f_int <- function(t, T, la) {
    return(-(1-exp(-la*(T-t)))/la)
}
 
#-------------------------   
# comparison
#-------------------------   
= 4; t = 1; tau = T-t; la = 1.2
 
print("Two Integrations")
 
cat("Numerical solution:\n");
(1/(T-t))*integrate(f_int, lower = t, 
                    upper=T, T=T, la=la)$value
 
cat("Analytical solution:\n");
(1/la)*(1-exp(-(la*(T-t))))/(la*(T-t)) - 1/la
 
cs


The output confirms the equivalence of results from both integration methods. Hence, in cases where no analytical expression is available, numerical integration can serve as a reliable alternative.

> 
[1"Two Integrations"
> 
Numerical solution:
> (1/(T-t))*integrate(f_int, lower = t, upper=T, T=T, la=la)$value
[1-0.6081768
> 
Analytical solution:
> (1/la)*(1-exp(-(la*(T-t))))/(la*(T-t)) - 1/la
[1-0.6081768
> 
cs



No comments:

Post a Comment