Hello! I want to use R to calculate the variable x which is in some eqation, give an example: 3*x-log(x)+1=0, how to solve equation to get the exact x in R? Thank you very much! -- View this message in context: http://www.nabble.com/R-solve-equation-tp21886831p21886831.html Sent from the R help mailing list archive at Nabble.com.
On Sat, Feb 7, 2009 at 10:20 AM, oryie <43248523 at qq.com> wrote:> I want to use R to calculate the variable x which is in some eqation, give > an example: > > 3*x-log(x)+1=0, > > how to solve equation to get the exact x in R?You could use uniroot(), but your equation has no real solution. Paul
If you are looking for a solution to a polynomial equation with imaginary solutions you could use polyroot(). Example: To solve the equation: 1 + x + x^3 + 2*x^4 = 0 you create a vector with the coefficients of x and use polyroot: z <- matrix(c(1,1,0,1,2), ncol=1) polyroot(z) Also try ?polyroot Rafael Paul Smith wrote:> > On Sat, Feb 7, 2009 at 10:20 AM, oryie <43248523 at qq.com> wrote: >> I want to use R to calculate the variable x which is in some eqation, >> give >> an example: >> >> 3*x-log(x)+1=0, >> >> how to solve equation to get the exact x in R? > > You could use uniroot(), but your equation has no real solution. > > Paul > > ______________________________________________ > R-help at r-project.org mailing list > 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. > >-- View this message in context: http://www.nabble.com/R-solve-equation-tp21886831p21903933.html Sent from the R help mailing list archive at Nabble.com.
As suggested by somebody else, uniroot() can be used to solve equations in one unknown variable. However, you will never get the "exact x" in R, only an approximate root... Best, Giovanni> Date: Sat, 07 Feb 2009 02:20:10 -0800 (PST) > From: oryie <43248523 at qq.com> > Sender: r-help-bounces at r-project.org > Precedence: list > > > Hello! > > I want to use R to calculate the variable x which is in some eqation, give > an example: > > 3*x-log(x)+1=0, > > how to solve equation to get the exact x in R? > > Thank you very much! > -- > View this message in context: http://www.nabble.com/R-solve-equation-tp21886831p21886831.html > Sent from the R help mailing list archive at Nabble.com. > > ______________________________________________ > R-help at r-project.org mailing list > 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. > >-- Giovanni Petris <GPetris at uark.edu> Associate Professor Department of Mathematical Sciences University of Arkansas - Fayetteville, AR 72701 Ph: (479) 575-6324, 575-8630 (fax) http://definetti.uark.edu/~gpetris/
On Mon, Feb 9, 2009 at 4:46 PM, Giovanni Petris <GPetris at uark.edu> wrote:> > As suggested by somebody else, uniroot() can be used to solve > equations in one unknown variable. However, you will never get the > "exact x" in R, only an approximate root... > > Best, > Giovanni > >> Date: Sat, 07 Feb 2009 02:20:10 -0800 (PST) >> From: oryie <43248523 at qq.com> >> Sender: r-help-bounces at r-project.org >> Precedence: list >> >> >> Hello! >> >> I want to use R to calculate the variable x which is in some eqation, give >> an example: >> >> 3*x-log(x)+1=0, >> >> how to solve equation to get the exact x in R?That is correct, Giovanni. But the given equation has no (real) solution. Paul