[R] solving system of nonlinear equations
Enayetur RAHEEM
raheem at gmail.com
Sat Nov 20 18:10:35 CET 2004
R version: 2.0.0
OS: WinXP, SP2
I am using "nls" to estimate parameters of a system of nonlinear
equations. Although, iteration is not converging, I would like to get
the final estimates and store them in the object, say, "RR".
Any help would be appreciated. Thanks.
The following is not working ( I mean, I can not store it in "RR")
RR=nls(k~exp(-(q1-lam)/sig)+exp(-(q2-del)/tau),start=st,data=d1,trace=T,control=ctrl)
13.24433 : 30 30 15 10
3.90071 : 33.00603 38.86974 20.18227 10.15656
0.02326074 : 31.44802 36.80447 20.01395 10.07528
1.209036e-06 : 31.39755 36.58548 19.99954 10.05675
1.543785e-15 : 31.39752 36.58347 19.99947 10.05640
1.030527e-29 : 31.39752 36.58347 19.99947 10.05640
8.019572e-31 : 31.39752 36.58347 19.99947 10.05640
8.019572e-31 : 31.39752 36.58347 19.99947 10.05640
8.019572e-31 : 31.39752 36.58347 19.99947 10.05640
8.019572e-31 : 31.39752 36.58347 19.99947 10.05640
8.019572e-31 : 31.39752 36.58347 19.99947 10.05640
Error in nls(k ~ exp(-(q1 - lam)/sig) + exp(-(q2 - del)/tau), start = st, :
number of iterations exceeded maximum of 10
On Sun, 14 Nov 2004 17:09:06 -0800, Spencer Graves
<spencer.graves at pdf.com> wrote:
> Have you considered "nls"? If you read the help file and work
> through the examples, there is a good chance you can make it work, I
> think. I think I would start trying "plinear" in "nls", parameterizing
> the problem in terms of alpha, beta, ln.sigma, and ln.tau, unless you
> think a solution might require sigma < 0 or tau < 0. Using logarithms
> will get rid of the constraint and may make the problem numerically
> easier. Using alpha and beta rather than lambda and delta transforms
> the problem into an ordinary least squares problem for alpha and beta
> given any two numbers for sigma and tau (or ln.sigma and ln.tau).
>
> If I had trouble with this, I might try two other things:
>
> (a) The "solver" in Excel.
>
> (b) I might generate a grid in ln.sigma and ln.tau using
> expand.grid. For each combination of levels, I'd set up the linear
> regression problem and use "lm" to estimate alpha and beta and compute
> and store the sum of squares of residuals. Then I'd use "contour" to
> visualize the sum of squares surface.
>
> I've done all these things with crudely similar problems in the
> past and been happy with the results. If I only had this one problem,
> I'd be surprised if it would require more than a few hours. If I wanted
> a general algorithm for other purposes, I might do it two or three
> different ways both to help select a good algorithm and to build
> confidence in the results.
>
> hope this helps.
> spencer graves
> p.s. Some of these techniques are discussed in Venables and Ripley
> (2002) Modern Applied Statistics with S, 4th ed. (Springer). If you
> don't have this, I'd encourage you to consider spending some time with it.
>
>
>
> Enayetur RAHEEM wrote:
>
> >Hello there
> >
> >Can anybody please tell me if there is any package in R to solve the
> >following 4 nonlinear equations with 4 unknowns:
> >
> >alpha*exp(20/sigma)+ beta*exp(21/tau) = 2
> >alpha*exp(22/sigma)+ beta*exp(9/tau) = 4
> >alpha*exp(10/sigma)+ beta*exp(30/tau) = 6
> >alpha*exp(40/sigma)+ beta*exp(39/tau) = 5
> >
> >where
> >
> >alpha = exp(lambda/sigma)
> >beta= exp(delta/tau)
> >
> >I need to estimate lambda, sigma, delta, tau
> >
> >Thanks.
> >E Raheem
> >
> >______________________________________________
> >R-help at stat.math.ethz.ch mailing list
> >https://stat.ethz.ch/mailman/listinfo/r-help
> >PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html
> >
> >
>
> --
> Spencer Graves, PhD, Senior Development Engineer
> O: (408)938-4420; mobile: (408)655-4567
>
>
More information about the R-help
mailing list