¼ø¶È»ñÎÁ/14

Á°²ó¤Î²ÝÂê¤Ë¤Ä¤¤¤Æ

¤µ¤Æ¡¤Á°²ó¤ÎÁí»Å¾å¤²¤Ïñ½ã¤Ê¿¶¤ê»Ò¤Î±¿Æ°¤ò¥·¥ß¥å¥ì¡¼¥·¥ç¥ó¤·¤Æ¤ß¤è¤¦¤È¤¤¤¦¤â¤Î¤À¤Ã¤¿¡¥

¤Þ¤º¡¤±ôľ²¼Êý¸þ¤«¤é¤Î³ÑÅÙ¤ò θ rad ¤È¤¹¤ë¤È Newton ¤Î±¿Æ°ÊýÄø¼°¤¬

pendulum-eq.png
¿¶¤ê»Ò¤Î±¿Æ°ÊýÄø¼°

¤Ëµ¢Ã夹¤ë¤Î¤Ï¹â¹»¤ÎʪÍý¤Î¼ø¶È¤Ç¤ä¤Ã¤Æ¤¤¤ë¤Ï¤º¤À(¿Í¤Ë¤è¤Ã¤Æ¤ÏÃæ³ØÀ¸¤Ç³Ø¤ó¤Ç¤¤¤ë¤Í)¡¥¤³¤ì¤â²ò¤¬¤ï¤«¤Ã¤Æ¤·¤Þ¤¦¤¬*1¡¤¥×¥í¥°¥é¥à¤Ç¶á»÷²ò¤òµá¤á¤è¤È¤¤¤¦ÌäÂê¤Ê¤Î¤Ç¤½¤Î¤è¤¦¤Ë¤·¤è¤¦¡¥
¤Þ¤º¡¤¤³¤Î¤Þ¤Þ¤Ç¤Ï°·¤¤¤Ë¤¯¤¤¤Î¤Ç¡¤Á°²ó¤Î¼ø¶ÈƱÍͽ¾Â°ÊÑ¿ô¤òÁý¤ä¤·¤Æ°ì³¬ÈùʬÊýÄø¼°¤ËÊÑ·Á¤·¤è¤¦¡¥

pendulum-eq-mod.png
¿¶¤ê»Ò¤Î±¿Æ°ÊýÄø¼°(ÊÑ·ÁÈÇ)

¤È¤¤¤¦´¶¤¸¤Ë¤Ê¤ë¤À¤í¤¦¡¥¤½¤·¤Æ¡¤¾å¤ÎÊýÄø¼°¤ËÂФ·¤Æ Euler Ë¡¤òŬÍѤ¹¤ë¤È¡¤

pendulum-euler.png
¿¶¤ê»Ò¤Î±¿Æ°ÊýÄø¼°(ÊÑ·ÁÈǤΠEuler Ë¡¤Ë¤è¤ë¶á»÷)

¤È¤¤¤¦¶á»÷¼°¤¬ÆÀ¤é¤ì¤ë¡¥¤µ¤é¤Ë¤³¤ì¤ò°·¤¤¤ä¤¹¤¯Ä¾¤·¤Æ¡¤

pendulum-euler-mod.png
¿¶¤ê»Ò¤Î±¿Æ°ÊýÄø¼°(ÊÑ·ÁÈǤΠEuler Ë¡¤Ë¤è¤ë¶á»÷¤ò¤ï¤«¤ê¤ä¤¹¤¯¤·¤¿¤â¤Î)

¤È¤Ç¤­¤ë¤Î¤Ç¡¤¤³¤ì¤ò¤â¤È¤Ë¥×¥í¥°¥é¥à¤òÁȤ⤦¡¥ÍÍ¡¹¤Ê¶ñÂÎŪ¾ò·ï¤â¹þ¤ß¤Ç¡¤Á°²ó¤ÎÎãÂê¤Î¥×¥í¥°¥é¥à¤È¤Û¤È¤ó¤ÉÊѤï¤é¤Ê¤¤·Á¤Ç¡¤¤¿¤È¤¨¤Ð¼¡¤Î¤è¤¦¤Ë¤Ê¤ë¤À¤í¤¦¡¥

  1. include Math
  2.  
  3. # Euler Ë¡¤Ë´ð¤Å¤¤¤Æ¡¤¼¡¤Î»þ´Ö¥¹¥Æ¥Ã¥×¤Î u,v ¤ò·×»»¤¹¤ë
  4. def euler(u,v,dt,l)
  5.   g = 9.8
  6.  
  7.   u_new = u + v*dt
  8.   v_new = v - (g/l)*sin(u)*dt
  9.  
  10.   return u_new, v_new
  11. end
  12.  
  13. # x, y¤ò½ÐÎϤ¹¤ë
  14. def outputXY(u,l)
  15.   x = l*sin(u)
  16.   y = - l*cos(u)
  17.   print(x,", ",y,"\n")
  18. end
  19.  
  20. # °Ê²¼¡¤¥×¥í¥°¥é¥àËÜÂÎ
  21.  
  22. # ÌäÂê¾ò·ï
  23. l = 1.0
  24.  
  25. # ½é´üÃÍ
  26. u = PI/3.0
  27. v = 0.0
  28. time = 0.0
  29.  
  30. # ½ªÎ»»þ´Ö
  31. t_limit = 5.0
  32.  
  33. # »þ´Ö¹ï¤ßÉý
  34. dt = 0.01
  35.  
  36. # ½ªÎ»»þ´Ö¤Þ¤Ç¤Ï·×»»¤ò·«¤êÊÖ¤¹
  37. while (time < t_limit) do
  38.  
  39.   # x, y ¤ò½ÐÎÏ
  40.   outputXY(u,l)
  41.  
  42.   # Euler Ë¡¤Ç¼¡¤Î»þ´Ö¥¹¥Æ¥Ã¥×¤Î u,v ¤ò·×»»¤¹¤ë
  43.   u,v = euler(u,v,dt,l)
  44.  
  45.   # »þ´Ö¤ò¹¹¿·
  46.   time += dt
  47. end

Î㤨¤Ð¤³¤Î¥×¥í¥°¥é¥à¤òÆ°¤«¤»¤Ð¡¤Á´Éô¤Ç 501 ¹Ô¤È¤Ê¤ë¥Ç¡¼¥¿¥Õ¥¡¥¤¥ë¤¬½ÐÍè¾å¤¬¤ë¡¥¤½¤³¤Ç¡¤¤½¤Î¥Ç¡¼¥¿¥Õ¥¡¥¤¥ë̾¤¬Î㤨¤Ð pendulum.dat ¤À¤È¤·¤Æ¡¤¤³¤ì¤òÆ°²èŪ¤Ëɽ¼¨¤¹¤ë¤¿¤á¤Î gnuplot ¤ÎÀßÄê¥Õ¥¡¥¤¥ë¤òÍÑ°Õ¤¹¤ë¡¥
¤Þ¤º¤ÏÀßÄê¥Õ¥¡¥¤¥ëËÜÂΤò pendulum.plt ¤È¤·¤Æ

  1. set xrange[-1.0:1.0]
  2. set yrange[-1.0:0.0]
  3. set xlabel "x"
  4. set ylabel "y"
  5. unset key
  6.  
  7. line=0
  8. load "pendulum.loop"

¤ÈÍÑ°Õ¤·¡¤¤µ¤é¤Ë1¹Ô¤º¤Ä¥°¥é¥Õ¤ò½ñ¤¯Éôʬ¤Î¤¿¤á¤Î¥Õ¥¡¥¤¥ë pendulum.loop ¤ò°Ê²¼¤Î¤è¤¦¤ËÍÑ°Õ¤·¤è¤¦¡¥

  1. plot "pendulum.dat" every ::line::line w p pt 6 ps 3
  2. line=line+1
  3. pause 0.01
  4. if(line<501) reread

¤³¤ì¤Ç gnuplot ¾å¤Ç

 load "pendulum.plt"

¤È¤¹¤ì¤Ð(¤½¤³¤½¤³Â®¤¤ PC ¤Ê¤é¤Ð) ¸½¼Â¤È¤Û¤ÜƱ¤¸Æ°ºî¤ò²èÌ̤Ǹ«¤ë¤³¤È¤¬¤Ç¤­¤ë¤Ï¤º¤À¡¥

warning.png 1¹Ô¤º¤Ä¤Î¥°¥é¥Õ¤ò²èÁü¥Õ¥¡¥¤¥ë¤Ë¤·¤Æ¤½¤ì¤ò¤â¤È¤ËÆ°²è¤òºî¤ë¾ì¹ç¤Ï¡¤Î㤨¤Ð pendulum.plt ¤ò

  1. set xrange[-1.0:1.0]
  2. set yrange[-1.0:0.0]
  3. set xlabel "x"
  4. set ylabel "y"
  5. unset key
  6.  
  7. set terminal png font arial 18 size 800,600
  8.  
  9. line=0
  10. load "pendulum.loop"
  11.  
  12. set terminal win
  13. set output

¤È¤·¡¤¥ë¡¼¥×Éôʬ¤ÎÀßÄê¥Õ¥¡¥¤¥ë pendulum.loop ¤ò

  1. op = sprintf("p-%03d.png",line)
  2. set output op
  3. plot "pendulum.dat" every ::line::line w p pt 6 ps 3
  4. line=line+1
  5. if(line<501) reread

¤Ê¤É¤È¤¹¤ì¤Ð¡¤gnuplot ¤Ç

 load "pendulum.plt"

¤È¤¹¤ë¤È¡¤501 Ëç¤Î png ²èÁü¥Õ¥¡¥¤¥ë¤¬¤µ¤¯¤Ã¤Èºî¤é¤ì¤ë¤³¤È¤Ë¤Ê¤ë¡¥
¤¢¤È¤Ï¤³¤ì¤òÁ°²ó¾Ò²ð¤·¤¿ÊýË¡¤ÇÆ°²è¤ËÊѤ¨¤ì¤Ð¡¤Æ°²è¤¬ÆÀ¤é¤ì¤ë¡¥
Î㤨¤Ð¡¤¤³¤Î 501 Ëç¤Î²èÁü¤«¤é FFmpeg ¤ÇºîÀ®¤·¤¿ flv ¥Õ¥¡¥¤¥ë¤Ï JNorth_arrow-right-sm.png¿¶¤ê»Ò±¿Æ°¤ÎÆ°²è¥Õ¥¡¥¤¥ë ¤Î¤è¤¦¤Ë¤Ê¤ë(¤¿¤À¤·¡¤ÃÙ¤¤ PC ¤Ç¤âºÆÀ¸¤Ç¤­¤ë¤è¤¦¤Ë²èÁü¤ò´Ö°ú¤¤¤Æ 50fps ¤ËÍî¤È¤·¤Æ¤¢¤ë)¡¥


ÆÃÊÌ¥ì¥Ý¡¼¥È

¤³¤ì¤Þ¤Ç¤Î¥ì¥Ý¡¼¥È¤Ë²Ã¤¨¡¤ÆÃÊ̤˲ÃÅÀ¤¹¤ë¡ÖÆÃÊÌ¥ì¥Ý¡¼¥È¡×¤òÍÑ°Õ¤·¤¿(ÇÛÅÀ¤Ë¤Ä¤¤¤Æ¤Ï¼ø¶ÈÃæ¤Ë¸ýƬ¤ÇÅÁ¤¨¤Æ¤¢¤ë¤Í)¡¥
²ÝÂê,¾ò·ï,Äó½Ð¤Ë¤Ä¤¤¤Æ¤Ï°Ê²¼¤ÎÄ̤ꡥ

²ÝÂê

¿ô³Ø¡¤ÊªÍý¡¤²½³Ø¡¤À¸ÊªÅù¤ÎÍýÏÀ¡¤Í½ÁÛ¤ò³Î¤«¤á¤ë¤è¤¦¤Ê¥×¥í¥°¥é¥à¤òºî¤ê¡¤·ë²Ì¤ò²òÀϤ»¤è¡¥

¾ò·ï

  1. ¼ø¶È»þ¤Ë¼ø¶È¥¢¥ó¥±¡¼¥È¤ËÅú¤¨¤Æ¤Ê¤¤¤â¤Î¤Ï¥¢¥ó¥±¡¼¥È¤È°ì½ï¤ËÄó½Ð¤¹¤ë¤³¤È(JNorth_arrow-right-sm.png¥¢¥ó¥±¡¼¥ÈÍÑ»æ)¡¥
  2. »æ¤ÇÄó½Ð¤¹¤ë¤³¤È
  3. Âоݤò¡ÖÆȼ«¡×¤Ë¤¹¤ë¤³¤È¡¥ Ê£¿ô¿Í¤ÇÂоݤ¬Æ±¤¸¾ì¹ç¡¤ÇÛÅÀ¤Ï°Äʬ¤µ¤ì¤ë¡¥
  4. ¥ì¥Ý¡¼¥È¤Î¡Ö¹½À®¡×¤ò¤­¤Á¤ó¤È¤¹¤ë¤³¤È¡¥¤è¤¯¤ï¤«¤é¤Ê¤¤¤È¤¤¤¦¿Í¤Ï¡¤¤»¤á¤Æ°Ê²¼¤Î¹½À®¤Ë¤¹¤ë¤³¤È¡¥
    1. °ì¾Ï: ÂоÝÍýÏÀ¤Î²òÀâ
    2. Æó¾Ï: ¥×¥í¥°¥é¥à¤ÎÀâÌÀ¤ª¤è¤Ó¥×¥í¥°¥é¥à¥ê¥¹¥È¤ÎÄó¼¨
    3. »°¾Ï: ¼Â¸³·ë²Ì
    4. »Í¾Ï: ¼Â¸³·ë²Ì¤Î²òÀÏ
  5. ¤¤¤Ä¤â¤Î¤è¤¦¤Ë¡¤³Æ¼«¤Î¾ðÊó¤ò¤­¤Á¤ó¤Èµ­ºÜ¤¹¤ë¤³¤È¡¥
    1. ¼ø¶È̾
    2. ¡ÖÆÃÊÌ¥ì¥Ý¡¼¥È¡×¤È¤¤¤¦É½Âê
    3. ½ê°(³ØÉô¡¤³Ø²Ê)
    4. ³ØÀÒÈÖ¹æ
    5. ³Øǯ
    6. »á̾
    7. ¥ì¥Ý¡¼¥ÈÄó½ÐÆü

Äó½Ð¤Ë¤Ä¤¤¤Æ

  1. Äó½ÐÀè: Ë­Ã極¥¤¥Ð¡¼¥á¥Ç¥£¥¢¥»¥ó¥¿¡¼ 6F 615 ¹æ¼¼ ÌÚÅÄÍͤØ(Ê¿Æü 4:30 PM ¤Þ¤Ç)
  2. Äó½Ð´ü¸Â: 2010ǯ 8·î17Æü(¤¿¤À¤·¡¤¥¢¥ó¥±¡¼¥È¤ÎÄó½Ð´ü¸Â¤Ï 8·î6Æü)
  3. Äó½Ðʪ: ¥ì¥Ý¡¼¥È¡¤¤ª¤è¤Ó¥¢¥ó¥±¡¼¥È(¼ø¶È»þ¤Î¥¢¥ó¥±¡¼¥È¤Ëµ­Æþ¤¹¤ëµ¡²ñ¤ò»ý¤¿¤Ê¤«¤Ã¤¿¼Ô¤Î¤ß¡¥¤¿¤À¤·¡¤¥¢¥ó¥±¡¼¥ÈÄó½Ð´ü¸Â¤Ë¤Ïα°Õ¤»¤è)

Ãí°Õ

³ØÀ¸¤½¤ì¤¾¤ì¤«¤é¡¤¥Ý¥Ä¥Ý¥Ä¤È¥ì¥Ý¡¼¥È¤¬ÆϤ¤¤Æ¤ª¤ê¡¤Ãæ¤Ë¤Ï¤Ê¤«¤Ê¤«¤ÎÏ«ºî¤â¤¢¤ê´¶¿´¤·¤Æ¤¤¤Þ¤¹¡¥
µÕ¤Ë¡¤»ÄÇ°¤Ê¤³¤È¤Ë¾¿Í¤Î web Åù¤«¤é¤Î ÅðÍÑ ¤Îµ¿¤¤¤¬¤â¤¿¤ì¤ë¥ì¥Ý¡¼¥È¤¬Ê£¿ô¤¢¤ê¤Þ¤·¤¿¡¥

¥ì¥Ý¡¼¥È¤ÎÅðÍѤϡ¤

  • É®µ­»î¸³Åù¤Ë¤ª¤±¤ë¡ÖÉÔÀµ¹Ô°Ù¡×¤Ç¤¢¤ë
    (¡ÖÉ®µ­»î¸³Åù¡×¤Ë¤Ï¥ì¥Ý¡¼¥ÈÄó½Ð¤â´Þ¤Þ¤ì¤ë»ÝÄêµÁ¤µ¤ì¤Æ¤¤¤Þ¤¹)
  • Ãøºî¸¢Ë¡°ãÈ¿¤È¤Ê¤ë¡Ö°ãË¡¹Ô°Ù¡×¤Ç¤¢¤ë

¤È¤¤¤¦½ÅÂç¤ÊÈ¿¼Ò²ñŪ¹Ô°Ù¤Ç¤¢¤ê¡¤Âà³Ø¤ò´Þ¤à¸·¤·¤¤½èʬ¤¬Âç³Ø¤Ë¤è¤Ã¤Æ¤¯¤À¤µ¤ì¤ë²ÄǽÀ­¤¬¤¢¤ê¤Þ¤¹¡¥

¤ß¤Ê¤µ¤Þ¤Ï¼«¤é¤ÎÎϤÇÀµ¡¹Æ²¡¹¤È¥ì¥Ý¡¼¥È¤òºî¤Ã¤ÆÄó½Ð¤¹¤ë¤Ù¤¯´èÄ¥¤Ã¤Æ¤¯¤À¤µ¤¤¡¥

about Icons, ClipArts

Some icons in this page are downloadable at ICONFINDER.

The "note" icon notes.png designed by Marco Martin is distributed with the LGPL licence,
the "warning" icon warning.png designed by Alexandre Moore with the GPL licence
and the "triangle" icon JNorth_arrow-right-sm.png designed by Joseph North is distributed with the Creative Commons (Attribution-Noncommercial-Share Alike 3.0 Unported) licence.

Some clip arts used in this page are downloadable at Open Clip Art Library.
We deeply appreciate their superb works. With licence, they describe that "the actual clipart content on open clipart library is Public domain" in the web.


*1 ÌäÂê¤òÀþ·Á¶á»÷¤·¤¿´Êñ¤Ê¤â¤Î¤ËÃÖ¤­´¹¤¨¤ì¤Ðñ½ã¤Ë¡¤¤½¤¦¤Ç¤Ê¤±¤ì¤ÐÂʱߴؿô¤ò»È¤Ã¤Æ