±âº» ¼öÄ¡ Çؼ®

¼öÄ¡¹ÌºÐ  ¹×  ¼öÄ¡ÀûºÐ

 

¸ñÀû: 1. ¹ÌºÐ¹æÁ¤½ÄÀÇ ¼ö¸³À» À§ÇÑ ¼öÄ¡ ¹ÌºÐ¹ý
        2. ÀÓÀÇÀÇ ÇÔ¼öÀÇ ÀûºÐ¹ý
            
°¡. Gaussian Quadrature
            ³ª. Monte Carlo Integral

 1. ¼öÄ¡ ¹ÌºÐ¹ý

°¡) °¡Àå ±âº»ÀûÀÎ ¹ÌºÐ¹ý

     ÀÌ´Ù.

ÀÌ·¯ÇÑ ¼öÄ¡ ¹ÌºÐÀÇ ¿ÀÂ÷ÀÇ Å©±â´Â

    ¿¡¼­

    °¡ µÈ´Ù.

³ª) º¸´Ù ³ªÀº ¹ÌºÐ¹ý

    
     µîÀ¸·Î ºÎÅÍ

     (¿ÀÂ÷´Â )

ÀÌ µÈ´Ù.

´Ù) 2 °è ¹ÌºÐ¹ý

    
     µîÀ¸·ÎºÎÅÍ

    

 

2. ÀÓÀÇÀÇ ÇÔ¼öÀÇ ÀûºÐ¹ý

  °¡. Gaussian Quadrature

       À» ¾Ë ¶§ ÀûºÐ¹ý

a) Trapezoidal Rule(»ç´Ù¸® ²Ã °ø½Ä)

     ÀÌ¿ô ÇÏ´Â µÎ Á¡ »çÀ̸¦ Á÷¼±À¸·Î ¿¬°áÇÑ´ÙÀ½ ÀûºÐ

      Áï

             

À» ÀÌ¿ëÇØ ¼öÄ¡ ÀûºÐ ÇÏ¸é µÈ´Ù.

b) Simpson's Rule

      ÀÌ¿ô ÇÏ´Â ¼¼ Á¡ À» Æ÷¹°¼±À¸·Î ¿¬°áÇÑ ´ÙÀ½ ÀûºÐ. ƯÈ÷ ÀÓÀÇÀÇ ÀÌ¿ôÇÏ´Â µÎ Á¡ÀÇ x ÁÂÇ¥ÀÇ Â÷°¡

              

      ¿Í °°ÀÌ ÀÏÁ¤ÇÒ ¶§¿¡´Â Simpson's RuleÀº

             

À» ÀÌ¿ëÇØ ¼öÄ¡ ÀûºÐ ÇÏ´Â °ÍÀ» ÀǹÌÇÑ´Ù. µû¶ó¼­ ÀÌ ¶§¿¡´Â ÀûºÐ ±¸°£ À» Ȧ¼ö°³ÀÇ Á¡À¸·Î ºÐÇÒÇÏ´Â °ÍÀÌ ÁÁ´Ù.

c) SimpsonÀÇ 3/8 Rule

     ÀÌ¿ô ÇÏ´Â 4 Á¡ À» »ïÂ÷½Ä À¸·Î ¿¬°áÇÑ ´ÙÀ½ ÀûºÐ. ƯÈ÷ ÀÓÀÇÀÇ ÀÌ¿ôÇÏ´Â µÎ Á¡ÀÇ x ÁÂÇ¥ÀÇ Â÷°¡

              

      ¿Í °°ÀÌ ÀÏÁ¤ÇÒ ¶§¿¡´Â Simpson's 3/8 RuleÀº

             

À» ÀÌ¿ëÇØ ¼öÄ¡ ÀûºÐ ÇÏ´Â °ÍÀ» ÀǹÌÇÑ´Ù. ÀÌ ¶§¿¡´Â ÀûºÐ ±¸°£ À» (3K+1) °³ÀÇ Á¡À¸·Î ºÐÇÒÇÏ´Â °ÍÀÌ ÁÁ´Ù.

3. Numerical IntergralÀÇ ±¸Çö

    ¼öÄ¡ ÀûºÐ ÇÏ´Â ÇÁ·Î ±×·¥ ÇÑ exampleÀ» º¸¿© º¸ÀÚ. ¿ì¼± ÇÁ·Î ±×·¥ÀÌ ½ÃÀÛµÇ¸é ´ÙÀ½ ±×¸²°ú °°Àº

         

formÀÌ ¿­¸®°í menu Áß Sin-Display¸¦ ¿­¸é ¿ì¸®°¡ ÀÌ¹Ì °øºÎÇÑ ±âÃÊ Àü»ê ±×¸®±â¿¡¼­¿Í °°Àº sineÇÔ¼ö°¡ -Pi¿¡¼­ +2Pi±îÁö ±×·ÁÁø´Ù. ±× ´ÙÀ½ menu Áß Sin-Intergrate¸¦ ¿­¸é Á¤ÀûºÐÀÇ »óÇÑ ÇÏÇÑÀ» ´ëÈ­ »óÀÚ¸¦ ÀÌ¿ëÇØ ÀÔ·ÂÇÏ°Ô µÈ´Ù. ±× ±×¸²Àº ´ÙÀ½°ú °°´Ù.

        

ÀÌÁ¦ »óÇÑ ÇÏÇÑÀ» ÀÔ·ÂÇϸé ÀûºÐÀ» ÇÏ´Â ±¸°£À» Ǫ¸¥ »öÀ¸·Î Ç¥½ÃÇÏ°í ±× ÀûºÐ °ªÀ» Ç¥½ÃÇÏ´Â label box¿¡ Ç¥½ÃÇÑ´Ù. ±× °á°ú´Â ´ÙÀ½ ±×¸²°ú °°´Ù.

        

ÀÌ·¯ÇÑ ÇÁ·Î±×·¥ÀÇ project file, form file, ¹× ½ÇÇàfileÀº °¢°¢ nuint.vbp, nuint.frm. nuint.exe¿¡ °¢°¢ ÀÖ´Ù. ÀÌÁ¦ ÀÌ ÇÁ·Î ±×·¥ÀÇ formÀ» ±¸¼ºÇÏ´Â ¿©·¯ controlµéÀÇ ¼Ó¼º Ç¥¸¦ ÀÛ¼ºÇØ º¸ÀÚ. ¼Ó¼ºÇ¥´Â ¸ÕÀú Menu Editor¿¡¼­ Menu¸¦ ÀÛ¼ºÇϴµ¥ ±× Menu ±¸¼ºµµ´Â ´ÙÀ½°ú °°´Ù.

 

 Menu À̸§

 Caption

 mnuSin

Sin

 ---mnuSiDisp

Display

 ---mnuSinIn

Intergrate

mnuTan

Tan

---mnuTaDisp

Display

---mnuTanIn

Integrate

mnuEnd

End

±× ´ÙÀ½ÀÇ ¼Ó¼ºÇ¥´Â ¸ðµÎ ±âÃÊ Àü»ê ±×¸®±âÀÇ ÇÁ·Î±×·¥ ¿¹ÀÎ sine.vbp¿Í sine.frmÀÇ °æ¿ì¿Í µ¿ÀÏÇѵ¥ ´Ù¸¸ °á°ú¸¦ ³ªÅ¸³»´Â label boxÀÎ lblresult°¡ ´õ Ãß°¡ µÇ¾î ÀÖ´Ù. Menu Sin-Display¸¦ ClickÇßÀ» ¶§¿Í Menu End¸¦ ClickÇßÀ» ¶§ ¼öÇàµÇ´Â ÇÁ·Î±×·¥ source code´Â sine.vbp¿Í sine.frm¿Í µ¿ÀÏÇÏ´Ù. ÀÌÁ¦ Menu Sin-Integrate¸¦ lickÇßÀ» ¶§ÀÇ source code¸¸ º¸±â·Î ÇÏÀÚ.

 

Private Sub mnuSinIn_Click()

º¯¼öµéÀ» ¼±¾ðÇÏ°í
Dim I, X1, Y1, X2, Y2 As Long
Dim Pi, DX1, DX2 As Double
Dim UniY As Double
Dim UniX, Sum As Double
Dim Min, Max As String

¿øÁÖÀ² °ªÀ» ÁØ´Ù.

Pi = 3.141592

´ÙÀ½À¸·Î Y Ãà Áß X Ãà »ó´Ü¿¡ ÀÖ´Â ºÎºÐÀ» 2/3 Á¤µµ·Î ³ª´©¾î ÀÌ ±æÀ̸¦ Y ÃàÀÇ ´ÜÀ§ ±æÀÌ UniY·Î ÇÑ´Ù.
UniY = (linXax.Y1 - linYax.Y1) / Pi

´ÙÀ½À¸·Î X ÃàÀÇ À½ÀÇ ºÎºÐÀÇ ±æÀ̸¦ p ·Î Çϱâ À§ÇØ UniX¸¦ Á¤ÇÑ´Ù.
UniX = linYax.X1 - linXax.X1

±× ´ÙÀ½ Sum°ªÀ» 0À¸·Î ÃʱâÈ­ ÇÑ´Ù.
Sum = 0#

±× ´ÙÀ½ ÀûºÐÀÇ ÇÏÇÑ °ªÀ» VBÀÇ InputBox¸¦ ÀÌ¿ëÇØ ¹Þ¾ÆµéÀδÙ.
Min = InputBox("ÇÏÇÑ °ªÀº?(´Ü > - Pi) ")

¶Ç ÀûºÐÀÇ »óÇÑ °ªÀ» VBÀÇ InputBox¸¦ ÀÌ¿ëÇØ ¹Þ¾ÆµéÀδÙ.

Max = InputBox("¶Ç »óÇÑ°ªÀº?(´Ü < 2*Pi º¸´Ù Å«°ª)")

ÇÏÇÑ °ªÀ» ±×¸²¿¡¼­ ³ªÅ¸³»±â À§ÇØ  ¸ÕÀú xÃà¿¡¼­ Unit X twib ´ÜÀ§°¡ Pi·Î scaleÇÑ °ÍÀ» ¾Ë¾Æ¼­ MinÀ» Pi·Î ³ª´« ´ÙÀ½ Unit X¸¦ °öÇØÁÖ¾î
(UniX * Min/Pi) À§Ä¡¸¦ Á¤ÇÔ. ±×·±µ¥ x ÃàÀÇ ¿ÞÂÊ ³¡ÀÇ x ÁÂÇ¥ (linXax.X1)°¡ -Pi ÀÚ¸® À̹ǷΠ¿øÁ¡ÀÇ x ÁÂÇ¥´Â linXax.X1+Unit x°¡ µÇ¹Ç·Î
ÇÏÇÑ °ªÀÇ xÁÂÇ¥ X1Àº °á±¹
X1 = linXax.X1 + Int(UniX * (Min + Pi) / Pi)
¿Í °°ÀÌ µÈ´Ù. ¶Ç ÇÏÇÑ °ªÀ» x ÃàÀ§ÀÇ Á¡À¸·Î ³ªÅ¸³»¸é ±×¶§ÀÇ YÁÂÇ¥ Y1´Â °á±¹ xÃàÀÇ YÁÂÇ¥°¡ µÈ´Ù.
Y1 = linXax.Y1

¶Ç ¿ì¸®´Â ÀûºÐÀ» Trapezoidal Rule·Î ÇÒ °ÍÀ̹ǷΠµÎ Á¡¾¿ Àâ¾Æ ÀûºÐÇØ¾ß Çϴµ¥ óÀ½ µÎ Á¡ÀÇ ¿ÞÂÊ Á¡ÀÇ ½ÇÁ¦ X ÁÂÇ¥ DX1´Â ÇÏÇÑ Min°ªÀÌ´Ù.
DX1 = Min

 

ÀÌÁ¦ »óÇÑ°ú ÇÏÇÑÀ» µî °£°ÝÀ¸·Î ÀÖ´Â 2000 °³ÀÇ Á¡À¸·Î ³ª´©¾î °¢°¢ µÎÁ¡ ¾¿ ½ÖÀ» ÀÌ·ç¾î Trapezoidal Rule·Î ÀûºÐÇÏ¿©
±×°á°ú¸¦ ´Ù ´õÇϱâ·Î ÇÏÀÚ. ±×·¯¸é ù ¹ø° ½ÖÀÇ ¿ÞÂÊÁ¡ÀÇ ÁÂÇ¥´Â À§¿¡¼­ °è»êÇÑ (X1,Y1)ÀÌ µÈ´Ù.

For I = 1 To 2000

ù ¹ø° ½ÖÀÇ ¿À¸¥ÂÊ Á¡ÀÇ ±×¸²À» ±×¸®±â À§ÇÑ x ÁÂÇ¥ X2´Â Min¿¡¼­ (Max-Min)/2000=0.0005*(Max-Min)ÀÌ µÇ¹Ç·Î I=1ÀÏ ¶§

X2 = Int(0.0005 * (Max - Min) * I / Pi * UniX)
X2 = X2 + Int(linXax.X1 + UniX * (Min + Pi) / Pi)

¿Í °°ÀÌ µÉ °ÍÀÌ´Ù. ¶Ç ¿ì¸®´Â ÀûºÐÀ» Trapezoidal Rule·Î ÇÒ °ÍÀ̹ǷΠµÎ Á¡¾¿ Àâ¾Æ ÀûºÐÇØ¾ß Çϴµ¥ ù ¹ø° ½ÖÀÇ
¿À¸¥ ÂÊ Á¡ÀÇ X ÁÂÇ¥ DX2´Â

DX2 = I * 0.0005 * (Max - Min) + Min

¿Í °°ÀÌ µÉ °ÍÀÌ´Ù. ¶Ç ±×¸² »ó¿¡¼­ ù ¹ø° ½ÖÀÇ ¿À¸¥ÂÊ Á¡ÀÇ x°ª¿¡ ´ëÀÀÇÏ´Â sine ÇÔ¼ö °ªÀ» ³ªÅ¸³»´Â Y2´Â

Y2 = linXax.Y1 - UniY * Sin(DX2)

¿Í °°ÀÌ µÇ¾î °á±¹Àº ù ¹ø° ½ÖÀÇ µÎÁ¡À¸·Î »ç´Ù¸®²Ã ÀûºÐÇÑ ¿µ¿ªÀº °á±¹ (X1,Y1), (X2.Y2)¸¦ ´ë°¢¼± ³¡Á¡À¸·Î ÇÏ´Â Á÷»ç°¢Çü
ºñ½ÁÇϹǷΠ±× ¿µ¿ªÀ» û»öÀÇ Box·Î Ç¥½ÃÇÏ´Â code´Â

frmNuint.Line (X1, Y1)-(X2, linXax.Y1), RGB(0, 0, 255), B

¿Í °°´Ù.¶Ç ÀÌ ¶§ÀÇ ÀûºÐ °ªÀº À̹ǷΠÀÌ °ªÀ» ÀÌ Àü±îÁöÀÇ ÀûºÐ °á°ú °ªÀ» °®°í ÀÖ´Â sum¿¡ ´õÇØ ÁÖ¸é

Sum = Sum + (Sin(DX1) + Sin(DX2)) * 0.5 * (DX2 - DX1)

¿Í °°ÀÌ µÈ´Ù.

´ÙÀ½ ½ÖÀÇ ÀûºÐÀ» À§ÇØ ÇöÀç ½ÖÀÇ ¿À¸¥ÂÊ Á¡À» ´ÙÀ½ ½ÖÀÇ ¿ÞÂÊÁ¡À¸·Î ³Ñ°Ü ÁÖ¸é
X1 = X2
Y1 = Y2
DX1 = DX2
°¡ µÇ°í ´ÙÀ½ ½ÖÀÇ ¿À¸¥ ÂÊ Á¡ÀÇ °è»êÀ» À§ÇØ Next I¿¡ ÀÇÇØ For I = 1 To 2000 ¹Ù·Î ¹ØÀ¸·Î °¡¼­ °è»êÀ» ÇÏ´Â µî °è»êÀ» 2000¹ø ¹Ýº¹Çϸé

Next I

ÀûºÐÀÇ °á°ú°¡ sum¿¡ ÀÖ°Ô µÈ´Ù. ±×·±µ¥ ±×³É sumÀ» Âï¾î¶ó Çϸé VB¿¡¼­ ¼Ò¼öÁ¡ÀÌÇÏ ¸î ÀÚ¸® ±îÁö º¸¿©ÁÖ¾î¾ß ÇÏ´ÂÁö °í¹ÎÇϹǷΠ°á°ú¿¡ 1000À» °öÇÑ ´ÙÀ½
Sum = 1000 * Sum
¼Ò¼öÁ¡ÀÌÇϸ¦ ¹ö¸®°í (Int(Sum)) ´Ù½Ã 0.001À» °öÇÏ¸é ¼Ò¼öÁ¡ÀÌÇÏ 3 °ÀÚ¸® ±îÁö Á¤È®È÷ º¼ ¼ö ÀÖ´Ù.
Sum = Int(Sum) * 0.001

±× °á°ú¸¦ lblresultÀÇ Caption¿¡ Ç¥½ÃÇÑ´Ù. (Str()ÇÔ¼ö´Â VB¿¡¼­ ¼ö¸¦ ¹®ÀÚ¿­(string)·Î Ç¥½ÃÇØÁÖ´Â ÇÔ¼öÀÌ´Ù.)

lblResult.Caption = "°è»ê°á°ú " + Str(Sum)

End Sub

¿¬½À¹®Á¦: mnuTaDisp_Click() procedure¸¦ ÀÌ¿ëÇØ Tan ÇÔ¼ö¸¦ -Pi/2¿¡¼­ Pi/2±îÁö ±×¸®°í ÀÌ ±¸°£¿¡¼­ ÀÓÀÇ ±¸°£À» ÀûºÐÇÏ¿© ±× °á°ú¸¦ ³ªÅ¸³»´Â ÇÁ·Î±×·¥À» ÀÛ¼ºÇ϶ó.

4. Improper IntergralÀÇ ¼öÄ¡Çؼ®

   Improper IntegralÀ̶õ ÀûºÐ ±¸°£³»¿¡¼­ ÇÇÀûºÐ ÇÔ¼ö °¡ ¹ß»êÇϰųª ¶Ç´Â °ªÀ» °®Áö ¾Ê´Â °æ¿ì¸¦ ÀǹÌÇÑ´Ù. Improper Intergralµµ ÀûºÐ °¡´ÉÇÑ ¶Ç´Â ÀûºÐ °ªÀÌ Á¸ÀçÇÏ´Â Integrable Improper IntegralÀÌ ÀÖ°í ÀûºÐ ºÒ°¡´ÉÇÑ Improper IntegralÀÌ ÀÖ´Ù. ¿©±â¼­´Â Integrable Improper IntegralÀ» ¼öÄ¡ ÀûºÐÇÏ´Â ¹æ¹ý¿¡ °üÇØ ¿¬±¸ÇØ º¸ÀÚ.
   ÀûºÐ Àº ¿¡¼­ ÇÇÀûºÐ ÇÔ¼ö°¡ ¹ß»êÇÑ´Ù. ±×·¯³ª ÀûºÐÀ» Çϸé

                    

·Î ÀûºÐÀÌ °¡´ÉÇϹǷΠIntegrable Improper IntegralÀÌ´Ù. ÀÌ¿¡ ºñÇØ ÀûºÐ ÀÌ µÇ¾î norintegrable Improper IntegralÀÌ µÈ´Ù.

  ÀÌÁ¦ Integrable Improper Integral ¼öÄ¡ ÀûºÐÇÏ´Â ¹æ¹ý¿¡ °üÇØ ³íÀÇÇØ º¸±â·Î ÇÏÀÚ. ¸ÕÀú ÇÇÀûºÐ ÇÔ¼ö°¡ ¹ß»êÇÏ´Â ÁÖÀ§¿¡¼­´Â ÀûºÐÀ» Çؼ®ÀûÀ¸·Î Á¤È®È÷ ÇÏ°í ³ª¸ÓÁö ºÎºÐ¿¡¼­´Â ¼öÄ¡ÀûºÐ ÇÏ¸é µÈ´Ù. Áï

             

                                 

ÀÌ µÈ´Ù. µû¶ó¼­ À» Á¡Á¡ 1¿¡ Á¢±Ù ½ÃÅ°¸é¼­ À» Gaussian quadratureµîÀ¸·Î ¼öÄ¡ ÀûºÐÇÏ¿© ±× °ª¿¡ À» ´õÇØ ÀûºÐ °ªÀÇ º¯È­¸¦ ÀڱⰡ ¸¸Á·ÇÏ´Â ¹üÀ§³»¿¡¼­ º¯È­ÇÏÁö ¾ÊÀ¸¸é ±× °ªÀ» ÀûºÐ °ªÀ» ÅÃÇÑ´Ù.

¿¬½À¹®Á¦: ÀûºÐ 1)

                 

                                 

À» ÀÌ¿ëÇÏ¿© ÀÌ ÀûºÐ°ªÀ» ¼Ò¼öÁ¡ ÀÌÇÏ 3 ÀÚ¸®±îÁö Á¤È®È÷ ±¸ÇÏ¿© º¸¶ó.

ÀûºÐ 2)

                 

                                 

À» ÀÌ¿ëÇÏ¿© ÀÌ ÀûºÐ°ªÀ» ¼Ò¼öÁ¡ ÀÌÇÏ 3 ÀÚ¸®±îÁö Á¤È®È÷ ±¸ÇÏ¿© º¸¶ó.

(Hint: )