[R] solving equations with several variables

Josh Schmidt ftjhs2 at uaf.edu
Thu Feb 19 22:51:29 CET 2004


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)

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)




More information about the R-help mailing list