Category Archives: physics

สร้าง Bifurcation Diagram แบบง่ายๆ


พอดีมีนักเรียนตั้งกระทู้ถามเรื่องการวาดรูปเรื่อง Bifurcation Diagram เมื่อคืน ผมเลยทดลองวาดบน Mathematica เห็นว่าวิธีวาดง่ายดี เลยมาบันทึกไว้เผื่อมีใครค้นหาอีกในอนาคต ถ้าจะลองก็คัดลอกเอาไปลองได้เลย แล้วเปลี่ยนนู่นเปลี่ยนนี่เล่นดูเอง


(* กำหนด mapping ที่เราสนใจ อันนี้เรียกว่า logistic map *)
f[r_, x_] := r x (1 – x)

(* ทำการ iterate ด้วย ‘r’ ไป ‘iterations’ ครั้ง เริ่มด้วย ‘x0’ แล้วตัดมาดู ‘count’ ตัว *)
longtermValues[r_, count_, iterations_, x0_] :=
Map[{r, #} &, Take[NestList[f[r, #] &, x0, iterations], -count]]

(* เราเปลี่ยน r ตั้งแต่ 2.6 ไปจนถึง 4 โดยขยับทีละ 0.001 สำหรับแต่ละ r เรา iterate 500 ครั้งแล้วเอา 200 ตัวสุดท้่ายมาใช้ เราต้องใช้ Flatten[…,1] เพื่อให้คู่ลำดับทั้งหมดอยู่ในลิสท์ระดับเดียวกัน *)
allValues = Flatten[Table[longtermValues[r, 200, 500, 0.2], {r, 2.6, 4, 0.001}], 1];

(* วาดรูป *)
ListPlot[allValues, PlotStyle -> PointSize[0.001]]

Understand Classical Mechanics Precisely, Very Precisely

The excellent Nerd Wisdom website steered me toward a most unusual book about understand classical mechanics (Lagrangian and friends, see contents for details) precisely enough that computers can manipulate the expressions involved. Not numerical values, expressions.

I remember that when I learned about all these stuffs back in college, I was a master of symbol manipulation and automatically assumed or ignored details as necessary to arrive at the final solutions. Many of my friends had more trouble doing this since they were more precise thinkers and never got used to hand-waving arguments involved. This book would be a great boon to them. There’s no ambiguity left in the symbols if computers can understand them.

Young physicists in training might find this useful too.