have a look at uniroot(), e.g.,

ff <- function (low, r, s) {
    f <- function (t, r, s) {
        exp(-(s^2 - 2*r*s*t + t^2) / (2*(1-r^2))) / (2*pi*sqrt(1-r^2))
    }
    integrate(f, low, Inf, r = r, s = s)$value - 0.05
}

uniroot(ff, c(-3, -2), r = 0.730163, s = -2)$root


I hope it helps.

Best,
Dimitris


On 9/14/2010 9:15 AM, Tonja Krueger wrote:
Dear List,
Is there a way to solve

integrate(func.1,x, Inf) $value =0.05

by varying the lower limit of integration (x in the example above)?
So far I got:

r<- 0.730163
s<--2
func.1<- function(t) 
{1/(2*pi*sqrt(1-r^2))*exp(-1/(2*(1-r^2))*(s^2-2*r*s*t+t^2))}

I can change the lower limit manually, like:

integrate(func.1, -2.5, Inf) $value
[1] 0.05053265
integrate(func.1, -2.4, Inf) $value
[1] 0.04942731
integrate(func.1, -2.45, Inf) $value
[1] 0.05000923

but this is very time-consuming. So I was wondering if there is a better, 
preferably an automated way to solve the equation?

Thanks,
Tonja
___________________________________________________________
Neu: WEB.DE De-Mail - Einfach wie E-Mail, sicher wie ein Brief!
Jetzt De-Mail-Adresse reservieren: https://produkte.web.de/go/demail02

______________________________________________
R-help@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.


--
Dimitris Rizopoulos
Assistant Professor
Department of Biostatistics
Erasmus University Medical Center

Address: PO Box 2040, 3000 CA Rotterdam, the Netherlands
Tel: +31/(0)10/7043478
Fax: +31/(0)10/7043014

______________________________________________
R-help@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.

Reply via email to