A rather crude approach to solving nonlinear equations is to rewrite the equations as residuals and minimize the sum of squares. A zero sumsquares gives a solution. It is NOT guaranteed to work, of course.
I recommend a Marquardt approach minpack.lm::nlslm or my nlsr::nlfb. You will need to specify a function for the jacobian (derivatives of the residuals w.r.t. the parameters) for the latter package, but it does handle bounds correctly. Bounds in minpack.lm can be specified but I've a couple of failed cases, though I'll caution that in this area the scaling is such that all packages can be made to fail in some cases. I can send the latest developmental version of the nlsr package with some updates to make use of jacobians easier if you take that route. JN On 2022-11-15 02:49, ASHLIN VARKEY wrote:
In my work, I use l-moments for estimation and obtain a system of nonlinear equations. I am using the 'nleqslv' package in the R- program to solve these equations but am struggling to choose initial values. Is there any criteria to choose initial values in this package or is there any other method to solve these equations? My system of equations are given below. simeqn=function(x){ y=numeric(4) y[1]=x[1]*(((gamma(1+x[2])*gamma(x[3]-x[2]))/gamma(x[3]))+((gamma(1- x[2])*gamma(x[4]+x[2]))/gamma(x[4])))- 38353 y[2]=x[1]*gamma(1+x[2])*((gamma(x[3]-x[2])/gamma(x[3]))-(gamma(2*x[3]-x[2])/gamma(2*x[3]))-(gamma(x[4]+x[2])/gamma(x[4]))+(gamma(2*x[4]+x[2])/gamma(2*x[4])))- 3759.473 y[3]=x[1]*gamma(1+x[2])*((gamma(x[3]-x[2])/gamma(x[3]))-(3*gamma(2*x[3]-x[2])/gamma(2*x[3]))+(2*gamma(3*x[3]-x[2])/gamma(3*x[3]))+(gamma(x[4]+x[2])/gamma(x[4]))-(3*gamma(2*x[4]+x[2])/gamma(2*x[4]))+(2*gamma(3*x[4]+x[2])/gamma(3*x[4])))- 966.3958 y[4]= x[1]*gamma(1+x[2])*((gamma(x[3]-x[2])/gamma(x[3]))-(6*gamma(2*x[3]-x[2])/gamma(2*x[3]))+(10*gamma(3*x[3]-x[2])/gamma(3*x[3]))-(5*gamma(4*x[3]-x[2])/gamma(4*x[3]))-(gamma(x[4]+x[2])/gamma(x[4]))+(6*gamma(2*x[4]+x[2])/gamma(2*x[4]))-(10*gamma(3*x[4]+x[2])/gamma(3*x[4]))+(5*gamma(4*x[4]+x[2])/gamma(4*x[4])))- 500.952 y } [[alternative HTML version deleted]] ______________________________________________ R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.
______________________________________________ R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.