[R] solving equations with several variables

Uwe Ligges ligges at statistik.uni-dortmund.de
Fri Feb 20 08:24:36 CET 2004


Josh Schmidt wrote:

> I tried:
> 
>>f<-function(b,x)-sum(cos(x1+2.33474-2*(atan(b[1]*x2+b[2]*x3))))
>>optim(c(0, 0), f, x1=x1, x2=x2, x3=x3)


Sorry, should have been:

  f <- function(b, x1, x2, x3){
     -sum(cos(x1+2.33474-2*(atan(b[1]*x2+b[2]*x3))))
  }
  optim(c(0, 0), f, x1=x1, x2=x2, x3=x3)


Uwe Ligges



> and got this error.
> 
> Error in fn(par, ...) : unused argument(s) (x1 ...)
> 
> I am trying to solve for the circular-linear regression equation in Fisher 
> (1993).
> 
> 
> 
>>===== Original Message From Uwe Ligges <ligges at statistik.uni-dortmund.de> 
> 
> =====
> 
>>Josh Schmidt wrote:
>>
>>>I am relatively new to R, but I would like to use it find the values of b1 
> 
> and
> 
>>>b2 that maximize the following equation:
>>>
>>>(sum(cos(x3+2.33474-2(atan(b1*x1+b2*x2)))))
>>>
>>>Any help would be greatly appreciated.
>>
>>
>>
>>Given b1 and b2 are scalars (we are minimizing f, hence maximizing -f):
>>
>>f <- function(b, x) -sum(cos(x3 + 2.33474 - 2*(atan(b[1]*x1 +
>>b[2]*x2))))
>>optim(c(0, 0), f, x1=x1, x2=x2, x3=x3)
>>
>>
>>Be careful: Do you know the solution is (a) unique and (b) without many
>>local extrema?
>>The function cos() is extremly dangerous for optimization!!! If you
>>REALLY need it *and* you know optimization makes sense, you might want
>>to give method "SANN" a try ...
>>
>>Uwe Ligges
> 
> 
> Josh Schmidt
> Department of Biology and Wildlife
> University of Alaska Fairbanks
> 474-7006 (office)
> 
> ______________________________________________
> R-help at stat.math.ethz.ch mailing list
> https://www.stat.math.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html




More information about the R-help mailing list