a <- x[1]
b <- x[2]
if (all(x > 0))
(((a/(a+b))*(beta(a,b)/(beta(a,b)-beta(a,b+6))))-0.35259)
else Inf
}
with(opt, originalTest(par))
[1] -5.112654e-09
Not bad.
Bill Venables
CSIRO Laboratories
PO Box 120, Cleveland, 4163
AUSTRALIA
Office Phone (email preferred): +61 7 3826 7251
Fax (if absolutely necessary): +61 7 3826 7304
Mobile: +61 4 8819 4402
Home Phone: +61 7 3286 7700
mailto:Bill.Venables at csiro.au
http://www.cmis.csiro.au/bill.venables/
-----Original Message-----
From: r-help-bounces at r-project.org [mailto:r-help-bounces at r-project.org]
On Behalf Of francogrex
Sent: Sunday, 16 March 2008 3:24 AM
To: r-help at r-project.org
Subject: [R] Solving equations with optim
Hello, optim searches for min (or max) of a function, but is it possible
to
solve for a specific value? I mean, I want to find the value of a and b
that
give the function value closest to ZERO (and not min or max) in the
below.
is it possible? thanks
test=function(x){
a=x[1]
b=x[2]
if (all(x>0))(((a/(a+b))*(beta(a,b)/(beta(a,b)-beta(a,b+6))))-0.35259)
else Inf
}
optim(c(1,2),test)