ロジスティック写像

本格的にJAVAを学ぼうと思い、何か楽しい課題はないかなぁと考えていて思いついたのがカオス理論でよく取り上げられるロジスティック写像

前にRでプログラム書いた筈だけど見当たらないので、再度作成。といっても今回はこのサイトのものを参照に書いた。更にシンプルにして入力するパラメターの数を半分に。

具体的にはxの初期値を自動的に計算し、また、計算された値の内プロットに用いる値の数を指定ではなく自動的に算出する(最後の三分の一)とした。

Rでウィキペディアにある様なプロットに出来るだけ近づけることが一番大変だった。プロットに関してはコレコレを参照。

コード自体はもっと単純に書ける人はいるだろうけど、JAVAを学ぶ動機のひとつとしてなのでこれでいいかな?

こんな感じに出来上がりました。ただの自己満足です。

rmin <- 2.4 #minimum value of r
rmax <- 4.0 #maximum value of r
r <- seq(rmin, rmax, by = 0.001) # range of r. increment of the sequence = 0.001
N <- 1000 # no. of iterations

logistic.map <- function(r, N){
x<-0
x[1] <- runif(1) #initial value of x
for (i in 1:N){
x[i+1] <- r*x[i]*(1-x[i])
}
x[c((N-N/3):N)] #use only the final 1/3 of iterations
}

x <- sapply(r, logistic.map, N=N)
x <- as.vector(x)
r <-sort(rep(r, N/3+1))

plot(x ~ r, pch=”.”, col=rgb(0,0,0,0.05), xaxs=”i”, yaxs=”i”, xlim=c(rmin, rmax), ylim=c(0,1), axes=FALSE, ylab=””)
axis(1, at=seq(2.4, 4.0, by=0.2)) #axis bottom
axis(2, las=1, at=seq(0.0, 1.0, by=0.2)) #axis left
mtext(“x”, side=2, line=2, las=2) #horizontal “x” label on y axis

後藤卓也:大人もハマる算数

大人もハマる算数/すばる舎

中学受験で出題された算数の問題を紹介すると共に、その問題の解決方法を「小学生にどのように教えるのか」を解説した本。

筆者が言う様に学習参考書ではない。大人が楽しむ読み物、また、脳トレ本としての一冊等を目標としている。

本書は12章に分かれ、各章で異なる分野の問題を紹介している。虫食い算、ツルカメ算だったり、体積の求め方だったり扱われる問題は色々だ。

理系出身であれば、掲載されている問題自体は簡単だろう。ただ、筆者の言う小学生への教え方というのは非常に興味深かった。

「小学生はこういう風に考えるのかぁ」とか、「こういう風に教えれば分かり易いのかな」とか考えながら読んだ。

最近、子供にルービックキューブの攻略法を教えているのだが、本書の考えが直接ではないが参考になる点があった。教え方という意味で。

各章の問題も興味深いし、私にとっては何より子供の視点を算数という分野で再確認出来る機会となった一冊。

今月は忙しいので書評は3日に1回のペースとなると思います。