«D½u©Ê°Ê¤O¾Ç¥H¤Î²V¨P²{¶H¼ÒÀÀ

 

Nonlinear Dynamical System

¤@¯ë«ö­^»y¦r­±·N¸q½Ķ§@ "«D½u©Ê°Ê¤O¾Ç¨t²Î"¡A¤]«Ü±`¨£¡C¨ä¹ê¦b³oùتº dynamical ·N«ü¨t²Îªºª¬ºA®É®É¥i¥H§ïÅÜ¡A¨ä¥Îªk¤ñ¸û¹³¬O DRAM (Dynamical Random Access Memory) °ÊºAÀH¾÷¦s¨ú°O¾ÐÅé¡ADynamical Memory Allocation °ÊºA°O¾ÐÅé°t¸m¡A¬O "°ÊºA" ªº·N«ä¡A¦]¦¹ Nonlinear Dynamical System À³ºÙ§@¬O "«D½u©Ê°ÊºA¨t²Î" ¤~§ó¤£©ö¤Þ°_»~¸Ñ¡C·íµM¡A¦bª«²z¾Çªº½dÃ¥¤¤¦³«Ü¦hªº¤O¾Ç¨t²Î¤]¬O°ÊºA¨t²Î¡A¦]¦¹°w¹ï¨º¨Ç¨t²Î¥H "«D½u©Ê°Ê¤O¾Ç¨t²Î" ºÙ¤§¤]¨S¿ù¡A¥u¬O³o¼Ë¹ï©ó¨ä¥L«D¾÷±ñ©Î«D¤O¾Çªº¨t²Î¡A¦p°ÊºAªº¹q¸ô°T¸¹ÅܤƩΰʺAªº¤H¤fÅܤơA³o¦WºÙ´N¦³¤@ÂI©Ç©Çªº¤F¡C

 

¤°»ò¬O½ÆÂø¡H¤°»ò¬O²³æ¡H

½ÆÂø»P²³æÁöµM¥u¬O¨â­Ó¤£¨ãºë½Tª«²z·N¸qªº§Î®eµü¡A¦ý¦b³oùئܤ֦³¤@­Ó¤j®aÀ³¸Ó³£¯à±µ¨üªº°Ï¤À¡A´N¬O¤@­Ó²{¶H¦³¨S¦³¶g´Á©Ê¡C¦³¶g´Á©Êªº²{¶H¡A¹w´ú°_¨Ó¤ñ¸û²³æ¡A¹³¤éª@¤é¸¨¡B¬K®L¬î¥V¡F¦Ó¨S¦³¶g´Á©Êªº²{¶H¡A½Ñ¦p®ð¶HÅܤơBªÑ¥«µÈ¶^¡C

¤@­Ó²{¶H·|½ÆÂø¡A·|¥O§Ú­ÌµLªk¹w´ú¡AÃø¨ì³£¬O¦]¬°¨t²Îºc¦¨ªº¤¸¥ó«Ü¦h¦Ó­Ó¦Û¤§¶¡ªº¥æ¤¬§@¥Î¤S½ÆÂø¡A¹³«Ê³¬®e¾¹¤¤©Ò¦³®ðÅé¤À¤lªº°Ê¦V¨º¼Ë¶Ü¡H¨Ã¤£ºÉµM¡A¤@­Ó¥u¨ã¦³¬Û·í¤p¦Û¥Ñ«×ªº¡AªA±q¤@­Ó²³æ¦ý«o¬O«D½u©Êªº¤½¦¡¨ÓÅܤÆ(ºt¶i)¡A¤]¥i¥H²£¥Í½ÆÂø¨ìµLªk¹w´ú¨ä¶g´Áªº±¡ªp¡A¦bª«²zªº²{¶H¤¤§Ú­ÌºÙ¬°¬O²V¨P²{¶H¡C

µù¡G²V¨P¤@Ãã«Ü¦­´N¦³¡A¦ý»P²{¤µ¥Î©ó¬ì¾Ç»â°ì¤Wªº¤£¤@¼Ë¡A¹³¬O¤p«Ä¤lŪªº¡m¥®¾ÇãªL¡n¤¤¦³ "²V¨Pªì¶}¡A°®©[©l³þ¡A®ð¤§»´²M¡A¤W¯BªÌ¬°¤Ñ¡F®ð¤§­«¿B¡A¤U¾®ªÌ¬°¦a"¡C¤å¨¥¤å¤¤ªº²V¨P¨Ã¤£¬Oª«²z¦Wµü¡A¥¦¥D­n¬O­n´y­z¦t©zªº "µLµ²ºc©Ê" ¡C ¥t¦³¤H¤Þ­z¬°¡§²V¨Pªì¶}¡A°®©[©l³þ¡A»´²MªÌ¤W¯B¦Ó¬°¤Ñ¡A­«¿BªÌ¤U¾®¦Ó¬°¦a¡¨

²{¦b½Ķ§@²V¨P¡]Chaos¡^ªº­^¤å­ì·N¬O²V¶Ã¡A®ð¶H¾Ç®a³Ò­Û´µ¥Î²V¨P²z½×¡A¬O¥Î¨Ó´y­z¶È¦³¨Ç·L¤§®tªºªì©l±ø¥ó´N·|¾É­P«áÄòªº¨t²Îª¬ºA¦³·¥¤jªº¤£¦P¡A´N¹³¬O©Ò¿×ªº½¹½º®ÄÀ³¡]½Ð¨£ºû°ò¦Ê¬ì¡^¨º¼Ë¡C

¦³¨ÇªF¦èªº¥»½è¥»¨Ó´N¬OÀH¾÷©Êªº¡A¦pÂY¤@­Ó»ë¤l·|¤£·|¥X²{¤»ÂI³o¥ó¨Æ±¡¡C¨Ã¤£¦]¬°ªì©l±ø¥óªº¨Ç·L¤£¦P¦Ó¦³²§¡A´N¤£¬O¦b³oùةҿתº½ÆÂø¤F¡C

¤@­Ó²³æªº«D½u©Ê°ÊºA¨t²Î¡G¤@ºû logistic ¬M®g

¥Íª«±Ú¸s­ÓÅéÁ`¼Æ population »P¥@¥NªºÃö«Y

Pn+1 = Pn ( a + bPn )

´£¥X a «Y¼Æ«áÅܬ° a Pn [ 1 + (b/a) Pn ] ¡A¦AÅÜ´«ÅÜ¼Æ x = (b/a)Pn «á«h­ì¦¡Â²¤Æ¦¨¬° (a2/b) xn ( 1+ xn ) ¡A­Y§â a2/b ¦A§ï¬° 4r «h¦³ logistic map

 

Logistic map ªº©w¸q

¤@³s¦ê x |-> x' ¡B x' |-> x'' ªº¬M®g¡A¨C¦¸±o¨ìªºµ²ªG¤S§@¬°¤U¤@½üªº³N¿é¤J­È¡A¨ä¤¤²Ä n ¦¸»P²Ä n+1 ¦¸¨ã¦³¥H¤UÃö«Y¡G

xn+1 := 4r xn (1-xn)

´£¥Ü¡G­Y¬O¼g¦¨µ{¦¡¡A´N¥u¶·­n¼g¤@¦æ x = 4 * r * x * (1-x) ¡C

 

«D½u©Êªºª«²z·N¸q

Åý§Ú­Ì¥ý¦^·Q¤@¤U¤Æ¾Ç¤ÏÀ³³t²v»P¤ÏÀ³ª«ºØ¿@«×ªº°ÝÃD¡C°²³]³t²v¨M©w¨BÆJ¬O A ¡Ï B ¡÷ AB¡A«h¥¿¦V¤ÏÀ³³t²v¥¿¤ñ©ó­Ó§O¤ÏÀ³ª«¿@«× [A] »P [B] ªº¬Û­¼ [A][B]¡A¤S¡A¦pªG¨M©w¨BÆJ¬O A ¡Ï B ¡Ï B ¡÷ AB2¡A«h¥¿¦V¤ÏÀ³³t²v¥¿¤ñ©ó [A][B]2¡C §Ú­Ì³£¥i¥H²z¸Ñ³o¬O¦]¬°­n§Î¦¨²£ª«¡A¡]¥H«áªÌ¬°¨Ò¡^»Ý­n¤T­ÓªF¦è¸I¦b¤@°_¡A¦]¦¹¦³ [A]¡B[B]¡B[B] ±K«×¬Û­¼¨Ó¤Ï¬M¥X¾÷²v¡C

°²³]­¹ª«¥R¨¬µ¥Àô¹Ò¦]¯À¨ÏµM¡AÁc´Þ²v»P«e¤@¥@¥Nªº¼Æ¶q§e¥¿¤ñ¡A«h¦¡¤l¤¤·|¦³ x ¤@¦¸¤è¶µ¡F¥t¥~¡A©øÂίe¯fªº¶Ç¬V¡A·|¸g¥Ñ¨â­Ó­ÓÅ骺±µÄ²¡A¦p¦¹¦³¤F- x2 ¶µ¡A¦p¦¹´N¦³¤F

xn+1 = 4r xn ( 1 - xn )

°µ°µ¬Ý¡A¦pªG¬O x ( a - x ) ¡A¨ä¤¤ a ¬O¤£µ¥©ó¤@ªº¬Y¤@­Ó¦P©w±`¼Æ¡]¤]´N¬O»¡¤W¦¡ªº x ªº - x2 ¨Ã¤£¤@©w¬O­n¬Û¦P¤ñ¨Ò¡^¡A¦p¦¹§ó¦X²z¡A«hµ²ªG·|¦p¦ó¡H¡]³o¼ËªºÃa³B¬O¨S¦³Âk¤@¤Æ¡Ax ªº­Èªº½d³ò¤£³Q§½­­¦b 0 ¨ì 1 ¤§¶¡¡C¡^»¡©ú¡G¥H a x + b x2 ¬°¨Ò¡A¥iÂà¤Æ¬° a (1 + c x) x ¡A(¨ä¤¤ c = b / a) ¡A¦A¶i¤@¨BÅܦ¨ a/c (1 + cx) cx¡A³Ì«á§â cx ¥O¬°³Ì«áªº x ¡A´N¦³ x(1+x) ªº§Î¦¡¤F¡C

§Ú­Ì¤]¥i¥H±q¥t¤@­Ó¨¤«×¨Ó¤F¸Ñ«D½u©Ê¶µ¡A­Y x ¬O°÷¤pªº­È¡A«h²{¶H¥i¦¸¥]§t°ª¦¸ªº®ÄÀ³¡A¦Óªí¥Ü¦¨¨V¯Å¼Æ®i¶}¡]¹³®õ°Ç®i¶}¦¡¨º¼Ë¡^¡A¦]¦¹¤G¦¸©Î§ó°ª¦¸ªº®ÄÀ³¤§¥X²{¬O¬Û·í¦ÛµMªº¡C

 

µ{¦¡²ß§@¡Gµe¥X Logistic Map ¤§ x ¹ï n ªº§@¹Ï

 

ÂΤfÀH¥@¥N§@¹Ï

Æ[¹î¨ì¡G

(1) ¶i¤J¤F¥s©T©wÂI (fixed point) ªºÃ­©wª¬ºA¡]»Pªì©lÂΤf­ÈµLÃö¡^

(2) ¦³¨Ç¡]¸û¤jªº¡^r ¾É­P·|¦³¨â­Ó©T©wÂI

logistic_map.f

logistic_map.x

¡]²¤Æª©¡Glogistic.f¡^

 

¸É¥R¡G½d¨Òµ{¦¡¤¤ªºÃ¸¹Ï«ü¥O

pgmove(x,y)¡G ±Nµeµ§²¾°Ê¨ì (x,y) ªº¦ì¸m

pgdraw(x,y)¡G µeµ§±q¥Ø«eªº¦ì¸m¡Aµeª½½u¨ì (x,y)

pgeras¡G²M°£µe­±

 

 

±q´X¦ó§@¹Ïªº¨¤«×¨Ó¬Ý©T©wÂI¤À§G»P¼Æ¶q¤W¡]ÀH r¡^ªºÅܤÆ

³z¹L¤@¨t¦C§@¹Ï¥i§e²{¡C

bifurcation.f

bifurcation.x

½d¨Òµ{¦¡§Þ¥©¤ÀªR¡G

ÀH¥@¥Nªº¤£¦P¦ÓÅܤơA¥H¤£¦PªºÃC¦âªí¥Ü¡C±N n_gen ¤À¬° ­Y¤z¬q¡A ²Ä¤@¬q¤£Åã¦â¡]­I´º¦â¡^¡A³Ñ¤UªÌ½T«O n_gen ½üº¡¤]¤£·|¦A¨Ï¥Î¨ì­I´º¦â¡C¡]§A¥i¥H¸Õ¸Õ¥@¥N¼Æ 50 ¨ì 500 ¨Ó·P¨ü¤@¤U¡^

 

 

¤À¤e¹Ïªºµ²ºc¡G¸H§Î

©ñ¤j¬Y¤@¤p½d³òªº r ¨Ó¬Ý¡A§Ú­Ì·|¨£¨ì­«ÂÐ¥X²{ªºÃþ¦üµ²ºc¡C

«ä¦Ò¡G³o¬O¬°¤°»ò¡H

bif_enlarge.f

bif_enlarge.x

½d¨Òµ{¦¡§Þ¥©¤ÀªR¡G

pgband ¬O¥\¯à±j¤jªº·Æ¹«´å¼Ð©w¦ì¨ç¦¡¡A¨C·í¹Bºâ¡A´N·|µ¥«Ý¥ªÁä©Î¬OÁä½LºV¤J¡A¤@¦³°Ê§@¡A´N·|°O¿ýIJµo¦ì¸m¤Î«öÁä¦r¤¸¡A¨Ñ¤§«á¨Ï¥Î¡C ¥Ü½d¦p¤U¡G

write (*,*) 'Now choose a range to enlarge using mouse pointer.'
write (*,*)
idummy = pgband (0, 1, 0.5, 0.5, x_pos, y_pos, CH)
x1 = x_pos
y1= y_pos
idummy = pgband (2, 1, x1, y1, x_pos, y_pos, CH)
x2 = x_pos
y2 = y_pos

if (x1.gt.x2) then
temp = x1
x1 = x2
x2 = temp
endif
if (y1.gt.y2) then
temp = y1
y1 = y2
y2 = temp
endif

§ó¦h²Ó¸`¨£ ½u¤W¤â¥U

 

¬°¤°»ò¤À¤e·|µo¥Í¡H±q¨ç¼Æªº¹Ï§Î¨Ó¤F¸Ñ

Logistic Map ¦pªG¼g¦¨¤@­Ó¹ê¼Æ§Î¦¡¡A¨ä¨ç¼Æ¹Ï§Î´N·|¤@­Ó¶}¤f¦V¤Uªº©ßª«½u¡]¤U¹Ï¬õ½u¡^¡A¦Ó¨ä r ´N¥Nªí©ßª«½uªº¦±²v¡C¥@¥Nºt¤Æ¤@¨B¨B­¡¥Nªº°Ê§@¡A¦b¹Ï¤W¥i¥Î¤@¨t¦C««ª½½u¤ô¥­½uªº¹ïÀ³¨Ó§e²{¡A¨C·í¦³ x ­È®É¡A§@¤@¦¸««ª½½u§â x ¹ï¨ì¨ç¼Æ¹Ï½u¤W¡A¨ä°ª«×¬O y ­È¡A±µµÛ§@¤@¦¸¤ô¥­½u¹ï¨ì y=x ¹ï¨¤½u¤W¡A¦¹¦ì¸m y ªº­È·|»P x ªº­È¤@¼Ë¡A«h¦A§@¤@¦¸««ª½½uIJ¤Î¨ç¼Æ½u¡A´N¬Û·í©ó±N¥N¤J x ©Ò±o¨ìªº y ¦A¤@¦¸¥O¦¨ x ¦A¥N¤J¨ç¼Æ¥h±o y¡A¦p¦¹´`Àô¤U¥h¡A¥i¹Gªñ¨ì©T©wÂI¡C

±´°Q¨ç¼Æ»P¹ï¨¤½u¥æ·|³B¤§±×²v»P¤À¤eªºÃö«Y

logistic_graph.f

logistic_graph.x

 

 

 

 

 

 

½Æ¼Æ r ªº Logistic Map »P¸H§Î

 

 

zlogistic.f

zlogistic.x

 

 

 

 

zlogistic_gray.f

zlogistic_gray.x

 

 

 

 

 

 

zlogistic_color.f

zlogistic_color.x

 

 

 

¤Ç¯÷³ù¤j¾Ç¼Æ¾Ç¨tªº²V¨P½Òºô­¶¡]¦³²V¨P¦b«Ü¦h¤£¦P»â°ìªºÀ³¥Î¡^
http://pear.math.pitt.edu/mathzilla/Examples/chaos/index.html

²V¨PÃÀ´Y
http://www-chaos.umd.edu/gallery.html

ICM 2006 Benoit Mandelbrot ¸H§ÎÃÀ³NÄvÁÉ
http://www.fractalartcontests.com/2006/