[R] Double Integration
Hans W Borchers
hwborchers at googlemail.com
Thu Jul 1 20:46:29 CEST 2010
Sarah Sanchez <sarah_sanchez09 <at> yahoo.com> writes:
>
> Dear R helpers
>
> I am working on the Bi-variate Normal distribution probabilities.
> I need to double integrate the following function
> (actually simplified form of bivariate normal distribution)
>
> f(x, y) = exp [ - 0.549451 * (x^2 + y^2 - 0.6 * x * y) ]
>
> where 2.696 < x < 3.54 and -1.51 < y < 1.98
>
> I need to solve something like
>
> INTEGRATE (2.696 to 3.54) dx INTEGRATE [(-1.51 to 1.98)] f(x, y) dy
>
> I have referred to stats::integrate but it deals with only one variable.
>
> This example appears in Internal Credit Risk Model by Michael Ong
> (page no. 160).
There has been the same request last month, the answer is still valid:
library(cubature)
fun <- function(x) exp(-0.549451*(x[1]^2+x[2]^2-0.6*x[1]*x[2]))
adaptIntegrate(fun, c(-1.51,1.98), c(2.696,3.54), tol=1e-8)
# $integral
# [1] 0.1376102
# $error
# [1] 1.372980e-09
# ...
Hans Werner
>
> Kindly guide.
>
> Regards
>
> Sarah
>
More information about the R-help
mailing list