[R] Non-linear system of equations
Paul Smith
phhs80 at gmail.com
Fri Apr 25 11:57:49 CEST 2008
2008/4/25 Radka Pancheva <radica at abv.bg>:
> I am trying to estimate the parameters of a bimodal normal distribution using moments matching, so I have to solve a non-linear system of equations. How can I solve the following simple example?
>
> x^2 - y^2 = 6
> x – y = 3
>
> I heard about nlsystemfit, but I don't know how to run it exactly. I have tried the following code, but it doesn't really work:
>
>
> f1 <-y~ x[1]^2-x[2]^2-6
> f2 <-z~ x[1]-x[2]-3
> f <- list(f1=0,f2=0)
> nlsystemfit("OLS",f,startvals=c(0,0))
You could try the recent package BB by Ravi Varadhan. The code could
be the following:
library(BB)
f <- function(x) {
x1 <- x[1]
x2 <- x[2]
F <- rep(NA, 2)
F[1] <- x1^2 - x2^2 - 6
F[2] <- x1 - x2 - 3
return(F)
}
p0 <- c(1,2)
dfsane(par=p0, fn=f,control=list(maxit=3000))
I got the solution:
x1 = 2.5
x2 = -0.5
Paul
More information about the R-help
mailing list