Shaoqiong Zhao wrote:
>> I have two matrix s1 and s2, each of them is 1000*1.
> and I have two equations:
> digamma(p)-digamma(p+q)=s1,
> digamma(q)-digamma(p+q)=s2,
> and I want to sovle these two equations to get the value of x and y, which
> are also two 1000*1 matrices.
>
Besides BB there is another package for solving systems of equations:
nleqslv.
Use Ravi's definition of your function.
fn <- function(x, s){
f <- rep(NA, length(x))
f[1] <- digamma(x[1]) - digamma(x[1]+x[2]) - s[1]
f[2] <- digamma(x[2]) - digamma(x[1]+x[2]) - s[2]
f
}
s <- c(-2,-4)
xstart <- c(1,1)
library(nleqslv)
z1 <- nleqslv(xstart,fn,s=s)
z1
or for more detail
z2 <- nleqslv(xstart,fn,s=s, control=list(trace=1))
z2
Berend
--
View this message in context: http://n4.nabble.com/help-about-solving-two-equations-tp1588313p1588503.html
Sent from the R help mailing list archive at Nabble.com.