[R] How to solve following equation?

Gabor Grothendieck ggrothendieck at gmail.com
Tue Dec 2 03:58:31 CET 2008


Assume a = 1.  If not set b = b/a, etc.
Now use (1) uniroot

> f <- function(x) b + c/(1+x) + d/(1+x)^2 - 1 - x
> uniroot(f, 0:1)
$root
[1] 0.8392679

$f.root
[1] 3.049818e-05

$iter
[1] 3

$estim.prec
[1] 6.103516e-05

or multiply through by 1+x
and subtract 1 from both sides giving
x = b + c/(1+x) + d/(1+x)^2 - 1
and iterate that.

> a <- b <- c <- d <- 1
> x <- 0
> for(i in 1:25) {
+ x <- b + c/(1+x) + d/(1+x)^2 - 1
+ print(x)
+ }
[1] 2
[1] 0.4444444
[1] 1.171598
[1] 0.6725419
[1] 0.9553676
[1] 0.7729558
[1] 0.8821595
[1] 0.8135892
[1] 0.8554268
[1] 0.829437
[1] 0.8454056
[1] 0.835527
[1] 0.8416126
[1] 0.837854
[1] 0.8401717
[1] 0.838741
[1] 0.8396236
[1] 0.839079
[1] 0.839415
[1] 0.8392076
[1] 0.8393356
[1] 0.8392566
[1] 0.8393053
[1] 0.8392753
[1] 0.8392938

On Mon, Dec 1, 2008 at 9:47 PM, RON70 <ron_michael70 at yahoo.com> wrote:
>
> I need to solve a equation like this :
>
> a = b/(1+x) + c/(1+x)^2 + d/(1+x)^3
>
> where a,b,c,d are known constant. Is there any R-way to do that?
>
> Thanks in advance
> --
> View this message in context: http://www.nabble.com/How-to-solve-following-equation--tp20785063p20785063.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.
>



More information about the R-help mailing list