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

 

 

¦b¥»¶g¤T¤p®Éªº½Òµ{¤¤¡A§Ú­Ì±N³°Äò§¹¦¨¤U¦C´X­Ó³æ¤¸¡A¨C¤p³æ¤¸¬ù¥b¤p®É

 

¤@¡B ¥H PGPLOT ¿é¥X°Êµeªº§Þ¥©¤¶²Ð»P¹ê²ß¡]¥b¤p®É¡^

½d¨Òµ{¦¡¾\Ū planet.f

°ò¥»ÃöÁ䪺«ü¥O

´«ÃC¦âªº«ü¥O call pgsci(i)

¨ä¥L¡]«Dµ´¹ï¥²­n¡A¦ý¤´¦³¥Î¤§¡^«ü¥O¡]°Æµ{¦¡¡^

³]©w¶ñ¥RÄݩʪº«ü¥O call pgsfs(j)

j ¥i¥H¬O¾ã¼Æ 1¡B2¡B3¡B4¡A®ÄªG¦p¤U¡G

µe¶ê pgcirc(x,y,r)

¶}©l½w½Ä°Ï¯Ç¤J pgbbuf

µ²§ô½w½Ä°Ï°e¥X pgebuf

³]©w¹Ï­±¤j¤p pgpap(x_size,y/x-ratio)

 

¦Û¦æ¸Õ°µ¡AºÉ±¡³Ð·Nµo´§

¼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

 

¤p§Þ¥©»Pª`·N¨Æ¶µ

¦b³Ì«á¦³¥Î call pgclos »P¨S¦³¨Ï¥Îªº®t§O

¦³¥Î call pgclos ®É¡A©Ò¦³Ã¸¹Ï°Ê§@§¹²¦«á¡A¸Óµe­±¤´·|¯dµÛ¨Ñ¨Ï¥ÎªÌ¦³®É¶¡Æ[¬Ý¡Aª½¨ì«ö¤U enter ¤~¥þ³¡Ãö³¬°h¥X¡C ¤Ï¤§¡A ­Yµ{¦¡³Ì«á¨S¦³¦³¥Î¨ì call pgclos ®É¡Aµ{¦¡¤@¶]§¹´N¤°»ò³£Ãö°_¨Ó¡A§Ú­Ì¦]¦¹´N¥u¨£µe­±°{¤F¤@¤U¡A¤@ÂI³£¬Ý¤£²M·¡©ÒµeªºªF¦è¡C

 

¨Ï¥Î top ¨Ó±þ±¼¤£°±¤£±¼ªº°õ¦æ¤¤µ{¦¡

(1) ¥´ top ¶i¤J«ö CPU ¦£¸Lµ{«×±Æ§Çªºµe­±

(2) ¬Ý§Aªºµ{¦¡ªº PID (Processs ID) ¡A¶¶«K¬Ý¤@¤U¥¦ªº CPU ¨Ï¥Î¦Ê¤À¤ñ

(3) «ö k µe­±·|µ¥§A¥´¤J·Q±þ±¼¤§ job ªº PID

(4) ¥¦°Ý§A±þ±¼¸Ó«ü©w PID¡A­n§A½T»{¡A«ö¤F Enter ´N±þ±¼¤F¡A¨Ã«h¨ì°ÊºA±Æ§Çª¬ºA

(5) «ö q °h¥X top

 

©óµêÀÀ¾÷¾¹¨Ï¥ÎÀH¨­ºÐªº¤èªk

(1) ¦bµêÀÀ¾÷¾¹¬O«e´ºªº±¡ªp¤U¡A ´¡¤JÀH¨­ºÐ

(2) ¦b²×ºÝ¾÷¸Õµ¡¤¤¥i¥H¥´ df ¨ÓÆ[¬ÝÀɮרt²Îªº±¡ªp¡A·|¬Ý¨ì·s¼W¥[ªº /media/disk Àɮרt²Î¥Ø¿ý¡C¨Ã¥B¦b®à­±¤W¤]·|¬Ý¨ì·sªº¥i¨ø¸ü¸Ë¸m¥X²{¡C

(3) ¦b¤å¦r¤¶­±¤¤¾Þ§@¼Ð·Ç UNIX ªº«ü¥O¡A±NÀÉ®× cp ¨ì /media/disk §Y¥i¡A¤]¥i¥H¦b®à­±¶}±Ò¬ÛÃöªº¸ê®Æ§¨¤§¶¡©ì©ñÀɮסC

(4) ¶ÇÀɧ¹¦¨«á¡AÃö³¬ÄÝ©óÀH¨­ºÐªº¸ê®Æ§¨¡]ª`·N­n©Ò¦³µøµ¡³£¨S¦³ cd ¨ìÀH¨­ºÐªº¸ê®Æ§¨¤¤¡^¡A¨Ã¥Î·Æ¹«¥kÁä¨Ï¸õ¥X¿ï³æ¨Ã¿ï¨ø¸ü¡A§Y¥i¡C¥t¤]¥i¦A¥Î df ©ó²×ºÝ¾÷µøµ¡¤¤¬d¬Ý /media/disk ¥Ø¿ý¬O§_¤v¸g®ø¥¢¡C

 

 

¾Ç¥Í³Ð·N°Êµe¦¨ªG®i

½Ð¦Ü¦¹³sµ²ªY½à

 

 

¡]¥»¶g¹ê»Ú¶i«×¶i¦æ¨ì¦¹¡A¤´¥¼¯à¶}©l¶i¤J©@°Ø§N«o¡^

 

 

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

 

°ÝÃ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

¥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¤@¡]§â¿n¤ÀÂ÷´²¤Æ¡^

­ì¨ç¼Æ y(x) ¦b x0 ³Bªº±×²v­È f(x0) ¬O

[ y(x0+dx) - y(x0-dx) ] / 2x0¡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¤À²Å¸¹¡^

¹ï©ó¤@­Ó²³æªº·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 Àô¹Ò¥Îªº¡^

 

¤Àª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

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

 

¤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

 

¤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

 

 

 

¶i¶¥¾\Ū¡G

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