[R] solving equations with several variables

Uwe Ligges
Fri, 20 Feb 2004 07:24:36 -0000

> 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!