(This article was first published on mages' blog, and kindly contributed to R-bloggers)
The other day I found some old basic code I had written about 15 years ago on a Mac Classic II to plot the Feigenbaum diagram for the logistic map. I remember, it took the little computer the whole night to produce the chart.
logistic.map <- function(r, x, N, M){
## r: bifurcation parameter
## x: initial value
## N: Number of iteration
## M: Number of iteration points to be returned
z <- 1:N
z[1] <- x
for(i in c(1:(N-1))){
z[i+1] <- r *z[i] * (1 - z[i])
}
## Return the last M iterations
z[c((N-M):N)]
}
## Set scanning range for bifurcation parameter r
my.r <- seq(2.5, 4, by=0.005)
system.time(Orbit <- sapply(my.r, logistic.map, x=0.001, N=1000, M=300))
## user system elapsed (on a 2.4GHz Core2Duo)
## 1.834 0.011 1.840
Orbit <- as.vector(Orbit)
r <- sort(rep(my.r, (M+1)))
plot(Orbit ~ r, pch=".")
Let's not forget when Mitchell Feigenbaum started this work in 1975 he did this on his little calculator!
To leave a comment for the author, please follow the link and comment on his blog: mages' blog.
R-bloggers.com offers daily e-mail updates about R news and tutorials on topics such as: visualization (ggplot2, Boxplots, maps, animation), programming (RStudio, Sweave, LaTeX, SQL, Eclipse, git, hadoop, Web Scraping) statistics (regression, PCA, time series,ecdf, trading) and more...


Zero Inflated Models and Generalized Linear Mixed Models with R.
Zuur, Saveliev, Ieno (2012).