²Ä¤­¶g¤W½Òºõ­n

 

 

¹q¸£¼ÒÀÀ¹êÅç¡G©@°Ø§N«o°ÝÃD¡]¦@¤T¤p®É¡^

 

°ÝÃD¡G¥ý¥[¥¤ºë©Î¬O«á¥[¥¤ºë©@°Ø§N±o§Ö¡H

ª«Åé¶q¡G·Å«×ÀH®É¶¡ªºÅܤÆ

ª«²z©w«ß¡]¼Æ¾Ç¼Ò«¬¡^¡G¤û¹y§N«o©w«ß¡]·Å«×ÅܤƲv»P·Å®t§e¥¿¤ñ¡^

dT / dt = - r (T - Ts)

¨ä¤¤·Å«× T ¬O®É¶¡ t ªº¨ç¼Æ¡A§Y T(t) ¡ATs ¬O¥~¦bÀô¹Òªº·Å«×¡]«Ç·Å¡^¡A

§N«o«Y¼Æ r ¦p¦ó©w¥X¡H ¡]¹ê§@ÃD¡A²Ä¤GÃD¡^

¥H¤U¬°¹ê´ú­È¡A·í®É«Ç·Å 17 «× C¡G

®É¨è¡]¤ÀÄÁ¡^ ¶Â©@°Ø·Å«×(«×C) ¥Õ©@°Ø·Å«×(«×C)
0 82.3 68.8
2 78.5 64.8
4 74.3 62.1
6 70.7 59.9
8 67.6 57.7
10 65.0 55.9
12 62.5 53.9
14 60.1 52.3
16 58.1 50.8
18 56.1 49.5
20 53.3 48.1
22 52.8 46.8
24 51.2 45.9
26 49.9 44.8
28 48.6 43.7
30 47.2 42.6
32 46.1 41.7
34 45.0 40.8
36 43.9 39.9
38 43.0 39.3
40 41.9 38.6
42 41.0 37.7
44 40.1 37.0
46 39.5 36.4

¥Õ©@°Ø»P¶Â©@°Ø¬O§_³£º¡¨¬¤û¹y§N«o©w«ß©Ò´y­zªº©O¡H¦p¦ó½T»{¡H¦p¦ó°µ¤U¤@¨B¡H

 

ºtºâªk¡G

³oùؼƾǰÝÃDªº¥»½è°ÝÃD¡G

§Ú­Ì¥uª¾¹D¨ç¼Æ y(x) ªº³B³B±×²v y'(x) ¬Oµ¥©ó¤wª¾ªº f(x)¡A¡]f(x) ¤¤­Y©úÅã¥X²{ y¡A«h¤]¥i¥H¼g¦¨ f(x,y) ¡^ ¡C¦Ó§Ú­Ì§Æ±æª¾¹D¨ç¼Æ y(x) ¡C

 

Eular ºtºâªk¡GÆ[ÂI¤@¡]§â±×²vÂ÷´²¤Æ¡^

­Y dx «Ü¤p¡A­ì¨ç¼Æ y(x) ¦b x0 ³Bªº±×²v­È f(x0) ¬O¬Û·í©ó¡]¥ÕªO§@¹Ï¥Ü½d¡^¡G

[ y(x0+dx) - y(x0-dx) ] / 2dx0¡A¤]¥i¼g§@

[ y(x0+dx) - y(x) ] / dx ¡]¤Ï¥¿ dx «Ü¤p¡^

¡A¦]¦¹

y(x0+dx) = y(x0) + f(x0) dx

¦pªG§Ú­Ì©w¤@®æ xn ¨ì¤U¤@®æ xn+1 ¤§¶¡ªº¶¡®æ¬O dx ¡A«h¤W¦¡Åܦ¨

y(xn+1) = y(xn) + f(xn) dx

¦Ó³o¥¿¬O Eular ºtºâªk¡A§i¶D§Ú­Ì¦p¦ó±q±×²v¨ç¼Æ¤@¨B¨B±À¥X­ì¨ç¼Æ¡C ¡]¦ý¤]½Ð¤j®aª`·N¡A°_©lªº²Ä¤@­ÓÂIªº¨ç¼Æ­È¥²¶·­n¥ýª¾¹D¡C¡^

 

Euler ºtºâªk¡GÆ[ÂI¤G¡]§â·L¤À²Å¸¹ªñ¦ü´«¦¨®t¤À²Å¸¹¡A¾A¦X¤w¸gŪ¹L·L¿n¤Àªºµ£¾Ç¡^

¹ï©ó¤@­Ó²³æªº·L¤À¤èµ{ dy / dx = f(x,y)¡A¦b Dx «Ü¤p®É¥i·í§@ Dy / Dx = f(x,y)¡A¬G Dy = f(x,y) Dx

¤S·í Dx ¬Oµ¥¶¡¹j xn - xn-1 = ... = x3 -x2 = x2 -x1 = Dx ®É

Dy = yn+1 - yn = f(xn,yn) Dx

³oùتº

yn+1 = yn - f(xn,yn) Dx

´N¬O¦³¦Wªº Euler¡]¶ø¨Ì°Ç¡A¤]¦³Â½Ä¶§@¼Ú¼Ö¡^ºtºâªk¡C

 

µ{¦¡¬yµ{¡Gµ¹©w§N«o«Y¼Æ¡B©@°Øªì©l·Å«×¡B«Ç·Å¡Aµe¥X T(t) ªº¹Ï

(0) ¶}©l

(1) Ū¤J§N«o«Y¼Æ¡B©@°Øªì©l·Å«×¡B«Ç·Å¡B¤p¶¡¹j®É¶¡³]©w¡B§Æ±æ¼ÒÀÀ¤§®É¶¡

(2) ¦b°j°é¤¤¡A¥H Euler ªk¹w´ú¤U¤@¤p¬q®É¶¡«áªº·Å«×¡A¨Ãµe¹Ï¡Aª½¨ì°j°é¶]§¹

(3) µ²§ô

 

½Ð¦Û¦æ¼¶¼gµ{¦¡

 

¼g¦nµ{¦¡«á½sĶ®É¡A¥Ñ©ó§Aªºµ{¦¡¤¤¦³¨Ï¥Î¨ì pgplot ø¹Ï°Æµ{¦¡¡A¦]¦¹½sĶ«ü¥O­n¹³³o¼Ë¤U¡G

gfortran -o my_prog.x my_prog.f -L /usr/X11R6/lib -lX11 -L /usr/local/pgplot -lpgplot

¥H¤Wª`·N X11R6 ªº X »P R ¬O¤j¼g¡B11 ¸ò 6 ¤@¼Ë¬O¼Æ¦r¡B¦³ -L ªº¦a¤è¤@©w­n¥Î¤j¼g¡A«á­±³sµ²µ{¦¡®w¥Îªº -lX11 »P -lpgplot ¤§ "-l" «h¬O­^¤å¤p¼g l ¡C

 

§¹¦¨¹Ï¨Ò

 

½d¨Òµ{¦¡°Ñ¦Ò

µ¥¤£¤Î¤F¡A¥ýª±¤@¤U¦Ñ®v¤v¸g°µ¦n¤Fªº¥i°õ¦æÀÉ cooling.x

¤@¤U¤l¼g¤£¥X¨Ó¡A°½¬Ý¤@¤U¦Ñ®v½d¨Òµ{¦¡¤¤ªº¼gªk cooling.f

¡]¾¨¶q¥ý¦Û¤v¸Õ¸Õ¬Ý¡Aª`·N¥i°õ¦æÀɬO Linux Àô¹Ò¥Îªº¡^

 

¡]¥»¦¸¤W½Ò¶i«×¾Þ§@¨ì³oùØ¡^

6 ¤ë 30 ¤é

­º¥ý§Ú­Ì§â cooling.f µ{¦¡¦^ÅU¤@¤U¥¦ªº¤º®e¡A¥H«K«Ý·|¶i¤Jª¬ªp¡G

 

 

¤ÀªR»P°Q½×¡]º[¨t¦C²ßÃD¡^

¤@¡B¨Ì·Ó¤û¹y§N«o©w«ß¡A¼g¤@­Ó¹w´úª«Åé·Å«× T(t) ªºµ{¦¡¡A¨ä¤¤§N«o«Y¼Æ r¡Bªì©l·Å«× T(0)¡BÀô¹Ò·Å«× Ts¡A¥H¤Î·L¤p®É¶¡¶¡¹j Dt ¥Ñ¥~³¡Åª¤J¡C

¢Ï¡D§Aªºµ{¦¡¼g¦n¤F¡A¤]¶¶§Q¦a³q¹L½sĶ¨Ã²£¥Í¤@­Ó¥i°õ¦æÀÉ¡A¤]´N¬O«ü¥Oªº»yªk³£¥¿½T¤F¡A¦ý§A«ç»òª¾¹D¥¦¦³¨S¦³ÅÞ¿è¤Wªº¿ù»~¡]µ{¦¡¤º³¡ªº¿ù»~³q±`¥s bug¡A¦]¬°¾ú¥v¤W´¿¦³ÂΤl¥d¦b¯uªÅºÞ¿N±¼¾É­P¹q¸ô­ÉÅÞ¿è¿ù»~ªº¨Æ¥ó¡^¡^¡A©Î¤ñ¤è»¡¤£¤p¤ß§â + ¸¹¥´¦¨ - ¸¹¡H

¡]´£¥Ü¡G¥H¤H¸£¥N´À¹q¸£¥H¬Á²³æ¤§¨Ò¤l©Î¸û¤Öªº¨BÆJ¨Ó®Ö¹ï¡^

¢Ð¡D·L¤p®É¶¡¶¡¹j Dt ¬Oµ{¦¡¨Ï¥ÎªÌ¦Û¤v¥²¶·¨M©wªº¶q¡A½Ð¸Õ¸Õ¬Ý¤£¥Î¼Æ¶q¯Åªº¤j¤p¡C§Aı±o¥Î¦h¤pªº­È¤~°÷ºë½T¡H

¦Ñ®vªº¥mÀ{¡G§Y¨Ï¼Ú¼Öºtºâªkªºµ{¦¡³£°µ¹ï¤F¡A¤´­nª`·N·L¤p®É¶¡¨B´T Dt ¤£¯à¨ú±o¤Ó¤p¡A§_«h·|¿ù±o«D±`Â÷ÃСA­ì¦]¥i²µu¦a²z¸Ñ¬°¡A¦³¬Y­ÓÀþ¶¡¡A¥Ñ©ó§N«o±`¼Æ¬O­tªº¡]­°·Å¡^ªº½t¬G¡ADt ­¼¤W¥hÀ³¸Ó­nÅý·Å«×­°¤@ÂIÂI¡]¦]¬°§N«o©w«ß¤½¦¡¤¤¦³­t¸¹¡^¡A ¦pªG Dt ¤Ó¤j¤F¡A¬Æ¦Ü·|µo¥Í©@°Ø·Å«×´î±o¤Ó¦h¦Ó§C©óÀô¹Ò·Å«×¡A¦p¦¹´N¤j¤j¦a¤£¹ï¤F¡C

¤G¡B±q¹êÅç¼Æ¾Ú¡]°Ñ¦Ò¤Uªí¡^«Ø¥ß©@°Ø¤§§N«o«Y¼Æªº¹ê§@

¢Ï¡D§A»{¬°¤û¹y§N«o©w«ß¯à¤£¯à´y­z¤W­zªº¹êªp¡H¡]·Q·Q¬Ý§Ú­Ì­n«ç»ò¼Ë¨Ó¦^µª³o­Ó°ÝÃD¡C¡^

¢Ð¡D¦pªG§Ú­ÌÄ@·N±µ¨ü¥Î¤û¹y§N«o©w«ß¬°¼Ò«¬¨Ó´y­z¹êªp¤¤ªº§N«o¹Lµ{¡A«h§A­n«ç»ò¼ËÀò±o¤@­Ó¸û²Å¦Xªº§N«o«Y¼Æ r ­È¡H

¦Û¤v¥ý·Q¤@·Q¡A¦p¦ó©w¥X r ­È¡]·Q¤£¥X¨Ó¦A¬Ý¡^

¤T¡B°²³]¥[¤J¥¤ºë¥u·|²³æ¦a§â²~¤¤·Å«×­°§CÄá¤ó¤­«×¡A«h°Ý¤@²~­è¨R¦nÄá¤ó 90 «×ªº©@°Ø¡A­n·Q§ÖÂI¹F¨ì¶}©l¥i¥H«~À|ªºÄá¤ó 75 «×¡A§A«Øij¥ý¥[¥¤ºë©Î¬O«á¥[¥¤ºë¡H

 

¥|¡B¤@­Ó¶qªºÅܤƲv»P·í®É¸Ó¶q¤§¤j¤p¦³Ãöªº²{¶H¡AÁÙ¦³¤°»ò¨Ò¤l¡H

 

¤­¡Bºtºâªkªººë½T«×»Pí©w©Êªº°ÝÃD¡C¡]­ì°Ñ¦Ò±Ð¬ì®Ñ¤º¤å¡^

§Q¥Î¹q¸£¶i¦æ¼Æ­È¹Bºâ¡A¨ä»~®tªº¨Ó·½¦³¤G¡A¨ä¤¤¤@­Ó¬O¥|±Ë¤­¤J»~®t¡]¤S¥s±Ë¥h»~®t©Î±Ë¤J»~®t¡A­^¤å¥s round-off error ©Î rounding error¡A¥¦¬Oµo¥Í¦b·í¹q¸£¦b§Q¥Î¨ä¦³­­ªº¦ì¤¸³B²z¦³¤p¼ÆÂIªº¼Æ­È¡]¦p¹ê¼Æ¡A¤S¥s¯BÂI¼Æ¡^¶Í·|¦³»Ý­n¥|±Ë¤­¤Jªº±¡ªp¡A¤ñ¤è»¡­Y¶È«O¯d¤p¼ÆÂI«á¤@¦ì¡A«h 1.1 ­¼¥H 1.1 ªºµ²ªG´N­nªí¥Ü¦¨ 1.2 ¦Ó¤£¬O§ó¥¿½Tªº 1.21¡A¡F¥t¥~¤@ºØ»~®t¬O¨Ó¦ÛºtºâªkùØÀY©Ò¨Ï¥Îªºªñ¦ü¡A¥sºIÂ_»~®t©Î­×°Å»~®t¡A­^¤å¥s°µ truncation error¡A·|¦³³oºØ¦WºÙ¬O¦]¬°ºtºâªk±`¥ÎµL½a¯Å¼Æ®i¶}ªº§Î¦¡¡A¨ä¤¤«Ü¦³¦Wªº¤ñ¤è»¡®õ°Ç®i¶}¦¡¡]Tylar's expansion¡^¡C

 

 

 

¶i¶¥¾\Ū¡G

Gould and Tobochnik, An Introduction to Computer Simulation Methods -- Applications to Physical Systems, Addison Wesley (1996) Chapter 2