±âº» ¼öÄ¡ ÇØ¼®
¼öÄ¡¹ÌºÐ ¹× ¼öÄ¡ÀûºÐ
¸ñÀû: 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: )