
рдпрд╣ рдкреНрд░рдХрд╛рд╢рди рдПрдХ рдЦрдВрдб рдкрд░ рдПрдХ рдЪрд░ рдХреЗ рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рдЕрднрд┐рдиреНрди рдХреА рдЧрдгрдирд╛ рдХреЗ рд▓рд┐рдП рд╕рдмрд╕реЗ рд╕рд░рд▓ рддрд░реАрдХреЛрдВ рдХрд╛ рд╡рд░реНрдгрди рдХрд░рддрд╛ рд╣реИ, рдЬрд┐рд╕реЗ рдЪрддреБрд░реНрднреБрдЬ рд╕реВрддреНрд░ рднреА рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред рдЖрдорддреМрд░ рдкрд░, рдЗрди рд╡рд┐рдзрд┐рдпреЛрдВ рдХреЛ рдорд╛рдирдХ рдЧрдгрд┐рддреАрдп рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдореЗрдВ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬреИрд╕реЗ рдХрд┐ GNU рд╕рд╛рдЗрдВрдЯрд┐рдлрд┐рдХ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдлреЙрд░ C, SciPy for Python, рдФрд░ рдЕрдиреНрдпред рдкреНрд░рдХрд╛рд╢рди рдХрд╛ рдЙрджреНрджреЗрд╢реНрдп рдпрд╣ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдирд╛ рд╣реИ рдХрд┐ рдпреЗ рддрд░реАрдХреЗ "рд╣реВрдб рдХреЗ рддрд╣рдд" рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВ, рдФрд░ рд╕рдЯреАрдХрддрд╛ рдФрд░ рдПрд▓реНрдЧреЛрд░рд┐рджрдо рдХреЗ рдкреНрд░рджрд░реНрд╢рди рдХреЗ рдХреБрдЫ рдореБрджреНрджреЛрдВ рдкрд░ рдзреНрдпрд╛рди рдЖрдХрд░реНрд╖рд┐рдд рдХрд░рддреЗ рд╣реИрдВред рдореИрдВ рджреНрд╡рд┐рдШрд╛рдд рд╕реВрддреНрд░ рдФрд░ рд╕рд╛рдзрд╛рд░рдг рдЕрдВрддрд░ рд╕рдореАрдХрд░рдгреЛрдВ рдХреЗ рд╕рдВрдЦреНрдпрд╛рддреНрдордХ рдПрдХреАрдХрд░рдг рдХреЗ рддрд░реАрдХреЛрдВ рдХреЗ рд╕рдВрдмрдВрдз рдкрд░ рднреА рдзреНрдпрд╛рди рджреЗрдирд╛ рдЪрд╛рд╣реВрдВрдЧрд╛, рдЬрд┐рд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдореИрдВ рдПрдХ рдФрд░ рдкреНрд░рдХрд╛рд╢рди рд▓рд┐рдЦрдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВред
рдЕрднрд┐рдиреНрди рдХреА рдкрд░рд┐рднрд╛рд╖рд╛
рдПрдХ рд╕рдорд╛рд░реЛрд╣ рдХреЗ рдЗрдВрдЯреАрдЧреНрд░рд▓ (рд░реАрдореИрди рдХреЗ рдЕрдиреБрд╕рд╛рд░) рдЪ ( x ) рдЦрдВрдб рдкрд░ [ рдП ; рдм реА ] рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╕реАрдорд╛ рдХреЛ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ:
рдореИрдВ рдПрди рдЯреА рдмреА рдПрдХ рдЪ ( рдПрдХреНрд╕ ) рдШ рдПрдХреНрд╕ = рдПрд▓ рдореИрдВ рд╣реВрдБ рдбреА рдИ рдПрд▓ рдЯреА рдПрдХ рдПрдХреНрд╕ рдЯреА рдУ 0 рдПрд╕ рдпреВ m n - 1 рдореИрдВ = 0 рдЪ ( рдПрдХреНрд╕ рдореИрдВ рдореИрдВ ) ( рдПрдХреНрд╕ рдореИрдВ + 1 - рдПрдХреНрд╕ рдореИрдВ ) , ( 1 )
рдЬрд╣рд╛рдБ Deltax= max lbracexi+1тИТxi rbrace - рд╡рд┐рднрд╛рдЬрди рдХреА рд╕реБрдВрджрд░рддрд╛, x0=рдПрдХ ред xn=b ред xii - рдЦрдВрдб рдкрд░ рдПрдХ рдордирдорд╛рдирд╛ рд╕рдВрдЦреНрдпрд╛ [xi;xi+1] ред
рдпрджрд┐ рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдЕрднрд┐рдиреНрди рдЕрд╕реНрддрд┐рддреНрд╡ рд╣реИ, рддреЛ рд╕реАрдорд╛ рдореВрд▓реНрдп рд╡рд┐рднрд╛рдЬрди рдХреА рдкрд░рд╡рд╛рд╣ рдХрд┐рдП рдмрд┐рдирд╛ рд╕рдорд╛рди рд╣реИ, рдпрджрд┐ рдХреЗрд╡рд▓ рдпрд╣ рдкрд░реНрдпрд╛рдкреНрдд рд░реВрдк рд╕реЗ рдЫреЛрдЯрд╛ рд╣реЛрдЧрд╛ред

рдЬреНрдпрд╛рдорд┐рддреАрдп рдкрд░рд┐рднрд╛рд╖рд╛ рдЕрдзрд┐рдХ рд╕реНрдкрд╖реНрдЯ рд╣реИ - рдЕрднрд┐рдиреНрди 0 x рдЕрдХреНрд╖, рдлрд╝рдВрдХреНрд╢рди рдХреЗ рдЧреНрд░рд╛рдл, рдФрд░ рд╕реАрдзреА рд░реЗрдЦрд╛рдУрдВ x = a рдФрд░ x = b (рдЖрдХреГрддрд┐ рдореЗрдВ рднрд░рд╛ рд╣реБрдЖ рдХреНрд╖реЗрддреНрд░) рд╕реЗ рдШрд┐рд░рд╛ рдШреБрдорд╛рд╡рджрд╛рд░ рдЯреНрд░реЗрдкреЛрдЬрд╝реЙрдЗрдб рдХреЗ рдХреНрд╖реЗрддреНрд░ рдХреЗ рдмрд░рд╛рдмрд░ рд╣реИред
рдЗрдВрдЯреАрдЧреНрд░рд▓ (1) рдХреА рдкрд░рд┐рднрд╛рд╖рд╛ рдХреЛ рдлрд┐рд░ рд╕реЗ рдлреЙрд░реНрдо рдореЗрдВ рд▓рд┐рдЦрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ
I= intbaf(x)dx рд▓рдЧрднрдЧIn=(bтИТa) sumnтИТ1i=0wif( xii), (2)
рдЬрд╣рд╛рдБ wi - рднрд╛рд░рд╛рдВрдХ рдЧреБрдгрд╛рдВрдХ, рдЬрд┐рд╕рдХрд╛ рдпреЛрдЧ 1 рдХреЗ рдмрд░рд╛рдмрд░ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП, рдФрд░ рдЧреБрдгрд╛рдВрдХ рд╕реНрд╡рдпрдВ - рдмрдврд╝рддреА рд╕рдВрдЦреНрдпрд╛ рдХреЗ рд╕рд╛рде рд╢реВрдиреНрдп рд╣реЛ рдЬрд╛рддреЗ рд╣реИрдВ рдПрди рдЬрд┐рди рдмрд┐рдВрджреБрдУрдВ рдкрд░ рдлрд╝рдВрдХреНрд╢рди рдХреА рдЧрдгрдирд╛ рдХреА рдЬрд╛рддреА рд╣реИред
рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ (2) рд╕рднреА рдЪрддреБрд░реНрднреБрдЬ рд╕реВрддреНрд░реЛрдВ рдХрд╛ рдЖрдзрд╛рд░ рд╣реИ (рдпрд╛рдиреА, рдЕрднрд┐рдиреНрди рдХреА рдЕрдиреБрдорд╛рдирд┐рдд рдЧрдгрдирд╛ рдХреЗ рд▓рд┐рдП рд╕реВрддреНрд░)ред рдЕрдВрдХ рдХрд╛ рдЪрдпрди рдХрд░рдирд╛ рдЪреБрдиреМрддреА рд╣реИ lbrace xii rbrace рдФрд░ рд╡рдЬрди wi рддрд╛рдХрд┐ рджрд╛рдИрдВ рдУрд░ рдХрд╛ рдпреЛрдЧ рдЖрд╡рд╢реНрдпрдХ рдЗрдВрдЯреАрдЧреНрд░рд▓ рдХреЛ рдпрдерд╛рд╕рдВрднрд╡ рд╕рдЯреАрдХ рд░реВрдк рд╕реЗ рдЕрдиреБрдорд╛рдирд┐рдд рдХрд░реЗред
рдХрдореНрдкреНрдпреВрдЯреЗрд╢рдирд▓ рдХрд╛рд░реНрдп
рд╕рдорд╛рд░реЛрд╣ рд╕реЗрдЯ рдЪ(x) рдЬрд┐рд╕рдХреЗ рд▓рд┐рдП рдЕрдВрддрд░рд╛рд▓ рдореЗрдВ рдХрд┐рд╕реА рднреА рдмрд┐рдВрджреБ рдкрд░ рдореВрд▓реНрдпреЛрдВ рдХреА рдЧрдгрдирд╛ рдХреЗ рд▓рд┐рдП рдПрдХ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рд╣реИ [рдП;рдмреА] (рдореЗрд░рд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдлрд╝реНрд▓реЛрдЯрд┐рдВрдЧ-рдкреЙрдЗрдВрдЯ рдирдВрдмрд░ рджреНрд╡рд╛рд░рд╛ рджрд░реНрд╢рд╛рдП рдЧрдП рдЕрдВрдХ - рд╡рд╣рд╛рдВ рдХреЛрдИ рдбреНрдпреВрд░рд┐рдЪрд▓реЗрдЯ рдлрд╝рдВрдХреНрд╢рди рдирд╣реАрдВ рд╣реИрдВ!)ред
рдЕрднрд┐рдиреНрди рдХреЗ рдЕрдиреБрдорд╛рдирд┐рдд рдореВрд▓реНрдп рдХреЛ рдЦреЛрдЬрдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рд╣реИ intbaf(x)dx ред
рд╕рдорд╛рдзрд╛рди рдкрд╛рдпрдерди 3.6 рдореЗрдВ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред
рд╡рд┐рдзрд┐рдпреЛрдВ рдХреА рдЬрд╛рдВрдЪ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЕрднрд┐рдиреНрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ int3/20 left[2x+ frac1 sqrtx+1/16 right]dx=17/4 ред
рдЯреБрдХрдбрд╝реЗ рдЯреБрдХрдбрд╝реЗ рдирд┐рд░рдВрддрд░ рд╕рдиреНрдирд┐рдХрдЯрди
рдЖрджрд░реНрд╢ рд░реВрдк рд╕реЗ рд╕рд░рд▓ рдЪрддреБрд░реНрднреБрдЬ рд╕реВрддреНрд░ рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдХреЗ рдЕрдиреБрдкреНрд░рдпреЛрдЧ рд╕реЗ рдЙрддреНрдкрдиреНрди рд╣реЛрддреЗ рд╣реИрдВ (1) "рдорд╛рдереЗ рдореЗрдВ"
In= sumnтИТ1i=0f( xii)(xi+1тИТxi)
рдХреНрдпреЛрдВрдХрд┐ рдЕрдВрдХреЛрдВ рджреНрд╡рд╛рд░рд╛ рдПрдХ рдЦрдВрдб рдХреЛ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд░рдиреЗ рдХреА рд╡рд┐рдзрд┐ рд╕реЗ lbracexi rbrace рдФрд░ рдЕрдВрдХ рдЪреБрдиреЗрдВ lbrace xii rbrace рд╕реАрдорд╛ рдореВрд▓реНрдп рдирд┐рд░реНрднрд░ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рддреЛ рд╣рдо рдЙрдиреНрд╣реЗрдВ рдЪреБрдирддреЗ рд╣реИрдВ рддрд╛рдХрд┐ рдЙрдиреНрд╣реЗрдВ рдЖрд╕рд╛рдиреА рд╕реЗ рдЧрдгрдирд╛ рдХреА рдЬрд╛ рд╕рдХреЗ - рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╣рдо рд╡рд┐рднрд╛рдЬрди рдХреЛ рд╕рдорд╛рди рд░реВрдк рд╕реЗ рд▓реЗрддреЗ рд╣реИрдВ, рдФрд░ рдлрд╝рдВрдХреНрд╢рди рдХреА рдЧрдгрдирд╛ рдХреЗ рдмрд┐рдВрджреБрдУрдВ рдХреЗ рд▓рд┐рдП рд╣рдо рд╡рд┐рдХрд▓реНрдкреЛрдВ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░рддреЗ рд╣реИрдВ: 1) xii=xi ; 2) xii=xi+1 ; 3) xii=(xi+xi+1)/2 ред
рд╣рдореЗрдВ рдмрд╛рдПрдВ рдЖрдпрддрд╛рдХрд╛рд░, рджрд╛рдПрдВ рдЖрдпрддрд╛рдХрд╛рд░ рдФрд░ рдЖрдпрддрд╛рдХрд╛рд░ рдХреЗ рддрд░реАрдХреЗ рдХреНрд░рдорд╢рдГ рдПрдХ рдордзреНрдп рдмрд┐рдВрджреБ рдХреЗ рд╕рд╛рде рдорд┐рд▓рддреЗ рд╣реИрдВред
рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрдиdef _rectangle_rule(func, a, b, nseg, frac): """ .""" dx = 1.0 * (b - a) / nseg sum = 0.0 xstart = a + frac * dx
рджреНрд╡рд┐рдШрд╛рдд рд╕реВрддреНрд░реЛрдВ рдХреЗ рдкреНрд░рджрд░реНрд╢рди рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдо рдирд┐рд░реНрджреЗрд╢рд╛рдВрдХ рдореЗрдВ рддреНрд░реБрдЯрд┐ рдХрд╛ рдПрдХ рдЧреНрд░рд╛рдл рдмрдирд╛рддреЗ рд╣реИрдВ "рдЕрдВрдХреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рд╕рдВрдЦреНрдпрд╛рддреНрдордХ рдкрд░рд┐рдгрд╛рдо рдФрд░ рд╕рдЯреАрдХ рдПрдХ рдХреЗ рдмреАрдЪ рдХрд╛ рдЕрдВрддрд░ рд╣реИред"

рдЖрдк рдХреНрдпрд╛ рдиреЛрдЯрд┐рд╕ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:
- рдордзреНрдп рдмрд┐рдВрджреБ рдХреЗ рд╕рд╛рде рдПрдХ рд╕реВрддреНрд░ рджрд╛рдПрдВ рдпрд╛ рдмрд╛рдПрдВ рдбреЙрдЯ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдмрд╣реБрдд рдЕрдзрд┐рдХ рд╕рдЯреАрдХ рд╣реИ
- рдордзреНрдпрдмрд┐рдВрджреБ рдХреЗ рд╕рд╛рде рд╕реВрддреНрд░ рдХреА рддреНрд░реБрдЯрд┐ рдЕрдиреНрдп рджреЛ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рддреЗрдЬрд╝реА рд╕реЗ рдЧрд┐рд░рддреА рд╣реИ
- рдмрд╣реБрдд рдЫреЛрдЯреЗ рд╡рд┐рднрд╛рдЬрди рдХреЗ рд╕рд╛рде, рдордзреНрдпрдмрд┐рдВрджреБ рдХреЗ рд╕рд╛рде рд╕реВрддреНрд░ рдХреА рддреНрд░реБрдЯрд┐ рдмрдврд╝рдиреЗ рд▓рдЧрддреА рд╣реИ
рдкрд╣рд▓реЗ рджреЛ рдмрд┐рдВрджреБ рдЗрд╕ рддрдереНрдп рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╣реИрдВ рдХрд┐ рдорд┐рдбрдкреЙрдЗрдВрдЯ рдХреЗ рд╕рд╛рде рдЖрдпрддреЛрдВ рдХреЗ рд╕реВрддреНрд░ рдореЗрдВ рдПрдХ рджреВрд╕рд░рд╛ рд╕рдиреНрдирд┐рдХрдЯрди рдХреНрд░рдо рд╣реИ, рдЕрд░реНрдерд╛рддреНред |InтИТI|=O(1/n2) , рдФрд░ рджрд╛рдПрдВ рдФрд░ рдмрд╛рдПрдВ рдЖрдпрддреЛрдВ рдХреЗ рд╕реВрддреНрд░ рдкрд╣рд▓реЗ рдХреНрд░рдо рд╣реИрдВ, рдЕрд░реНрдерд╛рддреНред |InтИТI|=O(1/n) ред
рдПрдХреАрдХрд░рдг рдЪрд░рдг рдХреА рдкреАрд╕рдиреЗ рдХреЗ рджреМрд░рд╛рди рддреНрд░реБрдЯрд┐ рдореЗрдВ рд╡реГрджреНрдзрд┐ рдЧреЛрд▓рд╛рдИ рдХреА рдЕрд╡рдзрд┐ рдореЗрдВ рд╡реГрджреНрдзрд┐ рдХреЗ рд╕рд╛рде рдЬреБрдбрд╝реА рд╣реБрдИ рд╣реИ рдЬрдм рдмрдбрд╝реА рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рд╢рдмреНрдж рд╕рдореНтАНрдорд┐рд▓рд┐рдд рд╣реЛрддреЗ рд╣реИрдВред рдпрд╣ рддреНрд░реБрдЯрд┐ рдЬреИрд╕реЗ рдмрдврд╝рддреА рд╣реИ |InтИТI|=O(1/n) рдпрд╣ рдорд╢реАрди рд╕рдЯреАрдХрддрд╛ рдХреЛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХреАрдХрд░рдг рдХреА рдЕрдиреБрдорддрд┐ рдирд╣реАрдВ рджреЗрддрд╛ рд╣реИред
рдирд┐рд╖реНрдХрд░реНрд╖: рджрд╛рдПрдВ рдФрд░ рдмрд╛рдПрдВ рдмрд┐рдВрджреБрдУрдВ рдХреЗ рд╕рд╛рде рдЖрдпрддреЛрдВ рдХреЗ рддрд░реАрдХреЛрдВ рдореЗрдВ рдХрдо рд╕рдЯреАрдХрддрд╛ рд╣реИ, рдЬреЛ рд╡рд┐рднрд╛рдЬрди рдХреЗ рд╢реЛрдзрди рдХреЗ рд╕рд╛рде рдзреАрд░реЗ-рдзреАрд░реЗ рдмрдврд╝рддреА рд╣реИред рдЗрд╕рд▓рд┐рдП, рд╡реЗ рдХреЗрд╡рд▓ рдкреНрд░рджрд░реНрд╢рди рдкреНрд░рдпреЛрдЬрдиреЛрдВ рдХреЗ рд▓рд┐рдП рд╕рдордЭ рдореЗрдВ рдЖрддрд╛ рд╣реИред рдорд┐рдбрдкреЙрдЗрдВрдЯ рдХреЗ рд╕рд╛рде рдЖрдпрддреЛрдВ рдХреА рд╡рд┐рдзрд┐ рдореЗрдВ рдЙрдЪреНрдЪ рд╕рдиреНрдирд┐рдХрдЯрди рдХреНрд░рдо рд╣реЛрддрд╛ рд╣реИ, рдЬреЛ рдЗрд╕реЗ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдореМрдХрд╛ рджреЗрддрд╛ рд╣реИ (рдиреАрдЪреЗ рдЙрд╕ рдкрд░ рдЕрдзрд┐рдХ)ред
рдЯреБрдХрдбрд╝реЗ-рдЯреБрдХрдбрд╝реЗ рд░реИрдЦрд┐рдХ рд╕рдиреНрдирд┐рдХрдЯрди
рдЕрдЧрд▓рд╛ рддрд╛рд░реНрдХрд┐рдХ рдХрджрдо рдПрдХ рд▓реАрдирд┐рдпрд░ рдлрд╝рдВрдХреНрд╢рди рджреНрд╡рд╛рд░рд╛ рд╕рдм-рд╕реЗрдЧрдореЗрдВрдЯ рдкрд░ рдкреВрд░реНрдгрд╛рдВрдХ рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдЕрдиреБрдорд╛рдирд┐рдд рдХрд░рдирд╛ рд╣реИ, рдЬреЛ рдЯреНрд░реЗрдкреЗрдЬрд╝рд┐рдпрдо рдХреЗ рджреНрд╡рд┐рдШрд╛рдд рд╕реВрддреНрд░ рджреЗрддрд╛ рд╣реИ:
In= sumnтИТ1i=0 fracf(xi)+f(xi+1)2(xi+1тИТxi) (3)

рдПрди = 1 рдФрд░ рдПрди = 2 рдХреЗ рд▓рд┐рдП рдЯреНрд░реИрдкреЛрдЬрд╝рд╛рдЗрдбрд▓ рд╡рд┐рдзрд┐ рдХрд╛ рдЪрд┐рддреНрд░рдгред
рдПрдХ рд╕рдорд╛рди рдЧреНрд░рд┐рдб рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рд╡рд┐рднрд╛рдЬрди рдХреЗ рд╕рднреА рдЦрдВрдбреЛрдВ рдХреА рд▓рдВрдмрд╛рдИ рдмрд░рд╛рдмрд░ рд╣реЛрддреА рд╣реИ, рдФрд░ рд╕реВрддреНрд░ рдХрд╛ рд░реВрдк рд╣реЛрддрд╛ рд╣реИ
In=h left( fracf(a)+f(b)2+ sumnтИТ1i=1f(a+ih) right), h= fracрдмрд╛n (3a)
рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди def trapezoid_rule(func, a, b, nseg): """ nseg - , [a;b]""" dx = 1.0 * (b - a) / nseg sum = 0.5 * (func(a) + func(b)) for i in range(1, nseg): sum += func(a + i * dx) return sum * dx
рд╕реНрдкреНрд▓рд┐рдЯ рдкреЙрдЗрдВрдЯреНрд╕ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдПрд░рд░ рдХреЛ рдкреНрд▓реЙрдЯ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рд╣рдо рджреЗрдЦрддреЗ рд╣реИрдВ рдХрд┐ рдЯреНрд░реЗрдкреЛрдЬрд╝реЙрдЗрдб рд╡рд┐рдзрд┐ рдореЗрдВ рдПрдХ рджреВрд╕рд░рд╛ рд╕рдиреНрдирд┐рдХрдЯрди рдХреНрд░рдо рднреА рд╣реИ рдФрд░ рдЖрдо рддреМрд░ рдкрд░ рдорд┐рдбрдкреЙрдЗрдВрдЯ рдЖрдпрдд рд╡рд┐рдзрд┐ (рдЗрд╕рдХреЗ рдмрд╛рдж рдмрд╕ рдЖрдпрдд рд╡рд┐рдзрд┐) рд╕реЗ рдереЛрдбрд╝рд╛ рдЕрд▓рдЧ рдкрд░рд┐рдгрд╛рдо рджреЗрддрд╛ рд╣реИред

рдЧрдгрдирд╛ рд╕рдЯреАрдХрддрд╛ рдирд┐рдпрдВрддреНрд░рдг
рдЗрдирдкреБрдЯ рдкреИрд░рд╛рдореАрдЯрд░ рдХреЗ рд░реВрдк рдореЗрдВ рд╡рд┐рднрд╛рдЬрди рдмрд┐рдВрджреБрдУрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдирд╛ рдмрд╣реБрдд рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рдирд╣реАрдВ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдЖрдорддреМрд░ рдкрд░ рдПрдХ рджрд┐рдП рдЧрдП рд╡рд┐рднрд╛рдЬрди рдШрдирддреНрд╡ рдХреЗ рд╕рд╛рде рдЕрднрд┐рдиреНрди рдХреА рдЧрдгрдирд╛ рдХрд░рдирд╛ рдЖрд╡рд╢реНрдпрдХ рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдХрд┐рд╕реА рджрд┐рдП рдЧрдП рддреНрд░реБрдЯрд┐ рдХреЗ рд╕рд╛рдеред рдпрджрд┐ рдЗрдВрдЯреАрдЧреНрд░реИрдВрдб рдХреЛ рдкрд╣рд▓реЗ рд╕реЗ рдЬрд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рд╣рдо рдкрд╣рд▓реЗ рд╕реЗ рддреНрд░реБрдЯрд┐ рдХрд╛ рдЕрдиреБрдорд╛рди рд▓рдЧрд╛ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдПрдХ рдПрдХреАрдХрд░рдг рдХрджрдо рдЪреБрди рд╕рдХрддреЗ рд╣реИрдВ рддрд╛рдХрд┐ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рд╕рдЯреАрдХрддрд╛ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдкреНрд░рд╛рдкреНрдд рд╣реЛред рд▓реЗрдХрд┐рди рдпрд╣ рд╢рд╛рдпрдж рд╣реА рдХрднреА рд╡реНрдпрд╡рд╣рд╛рд░ рдореЗрдВ рд╣реИ (рдФрд░ рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рдХреНрдпрд╛ рдпрд╣ рдЖрд╕рд╛рди рдирд╣реАрдВ рд╣реИ, рдкрд╣рд▓реЗ рд╕реЗ рдЬреНрдЮрд╛рдд рдлрд╝рдВрдХреНрд╢рди рдХреЗ рд╕рд╛рде, рдкрд╣рд▓реЗ рд╕реЗ рдЗрдВрдЯреАрдЧреНрд░рд▓ рдХреЛ рдПрдХреАрдХреГрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП?) рдЗрд╕рд▓рд┐рдП, рдХрд┐рд╕реА рджрд┐рдП рдЧрдП рддреНрд░реБрдЯрд┐ рдХреЗ рд▓рд┐рдП рдХрджрдо рдХреЛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рд╕рдорд╛рдпреЛрдЬрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИред
рдЗрд╕реЗ рдХреИрд╕реЗ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛рдП? рддреНрд░реБрдЯрд┐ рдХреЗ рдЖрдХрд▓рди рдХреЗ рд▓рд┐рдП рд╕рд░рд▓ рддрд░реАрдХреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ - рд░рди рдирд┐рдпрдо - рдПрди рдФрд░ 2 рдПрди рдЕрдВрдХреЛрдВ рд╕реЗ рдЧрдгрдирд╛ рдХреА рдЧрдИ рдЗрдВрдЯреАрдЧреНрд░рд▓ рдХреЗ рдореВрд▓реНрдпреЛрдВ рдореЗрдВ рдЕрдВрддрд░, рдПрдХ рддреНрд░реБрдЯрд┐ рдЕрдиреБрдорд╛рди рджреЗрддрд╛ рд╣реИ: Delta2n рд▓рдЧрднрдЧ|I2nтИТIn| ред рдПрдХ рдХреЗрдВрджреНрд░реАрдп рдмрд┐рдВрджреБ рдХреЗ рд╕рд╛рде рдЖрдпрддреЛрдВ рдХреА рд╡рд┐рдзрд┐ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдПрдХ рд╡рд┐рднрд╛рдЬрди рдХреА рд╕реБрдВрджрд░рддрд╛ рдХреЛ рджреЛрдЧреБрдирд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЯреНрд░реЗрдкреЗрдЬрд╝реЙрдЗрдб рд╡рд┐рдзрд┐ рдЕрдзрд┐рдХ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реИред рдЯреНрд░реИрдкреЛрдЬрд╝реЙрдЗрдб рд╡рд┐рдзрд┐ рджреНрд╡рд╛рд░рд╛ рдЧрдгрдирд╛ рдХрд░рддреЗ рд╕рдордп, рдЕрдВрдХреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреЛ рджреЛрдЧреБрдирд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдлрд╝рдВрдХреНрд╢рди рдХреЗ рдирдП рдореВрд▓реНрдпреЛрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдкрд┐рдЫрд▓реЗ рд╡рд┐рднрд╛рдЬрди рдХреЗ рдЦрдВрдбреЛрдВ рдХреЗ рдмреАрдЪ рдореЗрдВ рд╣реА рд╣реЛрддреА рд╣реИ, рдЕрд░реНрдерд╛рддреНред рдЕрднрд┐рдиреНрди рдХреЗ рдкрд┐рдЫрд▓реЗ рд╕рдиреНрдирд┐рдХрдЯрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдЕрдЧрд▓реЗ рдЧрдгрдирд╛ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
рдЖрдпрдд рд╡рд┐рдзрд┐ рдХреЗ рд▓рд┐рдП рдФрд░ рдХреНрдпрд╛ рдЕрдЪреНрдЫрд╛ рд╣реИ?рдЖрдпрдд рд╡рд┐рдзрд┐ рд╕реЗрдЧрдореЗрдВрдЯ рдХреЗ рд╕рд┐рд░реЛрдВ рдкрд░ рдлрд╝рдВрдХреНрд╢рди рдХреЗ рдореВрд▓реНрдпреЛрдВ рдХреА рдЧрдгрдирд╛ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред рдЗрд╕рдХрд╛ рдорддрд▓рдм рдпрд╣ рд╣реИ рдХрд┐ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдЙрди рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдЬрд┐рдирдореЗрдВ рдЦрдВрдб рдХреЗ рдХрд┐рдирд╛рд░реЛрдВ рдкрд░ рдкреВрд░реНрдгрд╛рдВрдХ рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдВ рд╣реИрдВ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдкрд╛рдк x / x рдпрд╛ x -1/2 0 рд╕реЗ 1 рддрдХ)ред рдЗрд╕рд▓рд┐рдП, рдиреАрдЪреЗ рджрд┐рдЦрд╛рдпрд╛ рдЧрдпрд╛ рдПрдХреНрд╕рдЯреНрд░рдкрд▓реЗрд╢рди рд╡рд┐рдзрд┐ рдЖрдпрдд рд╡рд┐рдзрд┐ рдХреЗ рд▓рд┐рдП рдмрд┐рд▓реНрдХреБрд▓ рд╡реИрд╕рд╛ рд╣реА рдХрд╛рдо рдХрд░реЗрдЧрд╛ред рд╕рдорд▓рдореНрдмрд╛рдХрд╛рд░ рд╡рд┐рдзрд┐ рд╕реЗ рдЕрдВрддрд░ рдХреЗрд╡рд▓ рдЗрддрдирд╛ рд╣реИ рдХрд┐ рдЬрдм рдЪрд░рдг рдХреЛ рдЖрдзрд╛ рдХрд░ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдкрд┐рдЫрд▓реА рдЧрдгрдирд╛рдУрдВ рдХреЗ рдкрд░рд┐рдгрд╛рдо рдХреЛ рдЫреЛрдбрд╝ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рд╣рд╛рд▓рд╛рдВрдХрд┐, рдЖрдк рдЕрдВрдХреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреЛ рддреАрди рдЧреБрдирд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдФрд░ рдлрд┐рд░ рдЕрднрд┐рдиреНрди рдХреЗ рдкрд┐рдЫрд▓реЗ рдореВрд▓реНрдп рдХрд╛ рдЙрдкрдпреЛрдЧ рдПрдХ рдирдП рдХреА рдЧрдгрдирд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рднреА рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ рдПрдХреНрд╕рдЯреНрд░рдкрд▓реЗрд╢рди рдХреЗ рд╕реВрддреНрд░ рдХреЛ рдПрдХреАрдХрд░рдг рдЪрд░рдгреЛрдВ рдХреЗ рдПрдХ рдЕрд▓рдЧ рдЕрдиреБрдкрд╛рдд рдореЗрдВ рд╕рдорд╛рдпреЛрдЬрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред
рдпрд╣рд╛рдБ рд╕реЗ рд╣рдореЗрдВ рд╕рдЯреАрдХ рдирд┐рдпрдВрддреНрд░рдг рдХреЗ рд╕рд╛рде рдЯреНрд░реЗрдкреЗрдЬрд╝реЙрдЗрдб рд╡рд┐рдзрд┐ рдХреЗ рд▓рд┐рдП рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХреЛрдб рдорд┐рд▓рддреЗ рд╣реИрдВ:
def trapezoid_rule(func, a, b, rtol = 1e-8, nseg0 = 1): """ rtol - nseg0 - """ nseg = nseg0 old_ans = 0.0 dx = 1.0 * (b - a) / nseg ans = 0.5 * (func(a) + func(b)) for i in range(1, nseg): ans += func(a + i * dx) ans *= dx err_est = max(1, abs(ans)) while (err_est > abs(rtol * ans)): old_ans = ans ans = 0.5 * (ans + midpoint_rectangle_rule(func, a, b, nseg))
рдЗрд╕ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХреЗ рд╕рд╛рде, рдЗрдВрдЯреАрдЧреНрд░реИрдВрдб рдХреА рдЧрдгрдирд╛ рдХрдИ рдмрд╛рд░ рдПрдХ рдмрд┐рдВрджреБ рдкрд░ рдирд╣реАрдВ рдХреА рдЬрд╛рдПрдЧреА, рдФрд░ рд╕рднреА рдЧрдгрдирд╛ рдореВрд▓реНрдпреЛрдВ рдХреЛ рдЕрдВрддрд┐рдо рдкрд░рд┐рдгрд╛рдо рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рд▓реЗрдХрд┐рди рдХреНрдпрд╛ рд╕рдорд╛рди рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рдлрд╝рдВрдХреНрд╢рди рдЧрдгрдирд╛ рдХреЗ рд╕рд╛рде рдЙрдЪреНрдЪ рд╕рдЯреАрдХрддрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реИ? рдпрд╣ рдкрддрд╛ рдЪрд▓рд╛ рд╣реИ рдХрд┐ рдпрд╣ рд╕рдВрднрд╡ рд╣реИ, рдРрд╕реЗ рд╕реВрддреНрд░ рд╣реИрдВ рдЬреЛ рдПрдХ рд╣реА рдЧреНрд░рд┐рдб рдкрд░ рдЯреНрд░реЗрдкреЗрдЬрд╝реЙрдЗрдб рд╡рд┐рдзрд┐ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдЕрдзрд┐рдХ рд╕рдЯреАрдХ рд░реВрдк рд╕реЗ рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВред
рдЯреБрдХрдбрд╝рд╛рд╡рд╛рд░ рдкрд░рд╡рд▓рдп рд╕рдиреНрдирд┐рдХрдЯрди
рдЕрдЧрд▓рд╛ рдХрджрдо рдкрд░рд╡рд▓рдпрд┐рдХ рддрддреНрд╡реЛрдВ рдХреЗ рд╕рд╛рде рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдЕрдиреБрдорд╛рдирд┐рдд рдХрд░рдирд╛ рд╣реИред рдЗрд╕рдХреЗ рд▓рд┐рдП рдпрд╣ рдЖрд╡рд╢реНрдпрдХ рд╣реИ рдХрд┐ рд╡рд┐рднрд╛рдЬрди рдХреЗ рдЦрдВрдбреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рд╕рдо рд╣реЛ, рддрдм рдПрдмреНрд╕рд┐рд╕рд╕ {( x 0 = a , x 1 , x 2 ), ( x 2 , x 3 , x 4 ), ... рдХреЗ рд╕рд╛рде рдЕрдВрдХреЛрдВ рдХреЗ рддреНрд░рд┐рднреБрдЬ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдкрд░рд╡рд▓ рдмрдирд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, ... ( x n -2 , x n -1 , x n = b )}ред

3 рдФрд░ 5 рдЕрдВрдХ ( рдПрди = 2 рдФрд░ рдПрди = 3) рдкрд░ рдПрдХ рдЯреБрдХрдбрд╝реЗ рдХреА рдкрд░рд╡рд▓рдп рд╕рдиреНрдирд┐рдХрдЯрди рдХрд╛ рдЪрд┐рддреНрд░рдгред
рдкреНрд░рддреНрдпреЗрдХ рдЦрдВрдб рдкрд░ рд╕рдорд╛рд░реЛрд╣ рдХреЗ рдЕрднрд┐рдиреНрди рдЕрдВрдЧ рдХрд╛ рдЕрдиреБрдореЛрджрди [ x k ; x k +2 ] рдЗрд╕ рдЦрдВрдб рдкрд░ рдкрд░рд╡рд▓рдпрд┐рдХ рд╕рдиреНрдирд┐рдХрдЯрди рдХреЗ рдЕрднрд┐рдиреНрди рдЕрдВрдЧ рджреНрд╡рд╛рд░рд╛ рдФрд░ рд╕рдорд╛рди рд░реВрдк рд╕реЗ рд╡рд┐рддрд░рд┐рдд рд╣реЛрдиреЗ рд╡рд╛рд▓реЗ рдмрд┐рдВрджреБрдУрдВ рдХреЛ рдорд╛рдирддреЗ рд╣реБрдП ( x k +1 = x k + h ), рд╣рдо рд╕рд┐рдореНрдкрд╕рди рд╕реВрддреНрд░ рдкреНрд░рд╛рдкреНрдд рдХрд░рддреЗ рд╣реИрдВ :
I_ {Simps, n} = \ sum_ {i = 0} ^ {n / 2-1} \ frac {h} {3} [f (x_ {2i}) + 4f (x_ {2i + 1}} + f (x_ {2i + 2})] = \\ = \ frac {h} {3} [f (a) + 4f (a + h) + 2f (a + 2h) + ... + 4f (bh) + f (b)] ~~ (4)
рдлреЙрд░реНрдореВрд▓рд╛ (4) рд╕реАрдзреЗ рд╕рд┐рдореНрдкрд╕рди рд╡рд┐рдзрд┐ рдХреЗ "рднреЛрд▓реЗ" рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЛ рдЬрдиреНрдо рджреЗрддрд╛ рд╣реИ:
рд╕реНрдкрд╛рдпрд▓рд░ рд╣реЗрдбрд┐рдВрдЧ def simpson_rule(func, a, b, nseg): """ nseg - , [a;b]""" if nseg%2 = 1: nseg += 1 dx = 1.0 * (b - a) / nseg sum = (func(a) + 4 * func(a + dx) + func(b)) for i in range(1, nseg / 2): sum += 2 * func(a + (2 * i) * dx) + 4 * func(a + (2 * i + 1) * dx) return sum * dx / 3
рддреНрд░реБрдЯрд┐ рдХрд╛ рдЕрдиреБрдорд╛рди рд▓рдЧрд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдк рдЪрд░рдг h рдФрд░ h / 2 рдХреЗ рд╕рд╛рде рдЗрдВрдЯреАрдЧреНрд░рд▓ рдХреА рд╕рдорд╛рди рдЧрдгрдирд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ - рд▓реЗрдХрд┐рди рдпрд╣рд╛рдВ рд╕рдорд╕реНрдпрд╛ рд╣реИ, рдЬрдм рдПрдХ рдЫреЛрдЯреЗ рдХрджрдо рдХреЗ рд╕рд╛рде рдЗрдВрдЯреАрдЧреНрд░рд▓ рдХреА рдЧрдгрдирд╛ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдкрд┐рдЫрд▓реА рдЧрдгрдирд╛ рдХреЗ рдкрд░рд┐рдгрд╛рдо рдХреЛ рддреНрдпрд╛рдЧрдирд╛ рд╣реЛрдЧрд╛, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдирдП рдлрд╝рдВрдХреНрд╢рди рдХреА рдЖрдзреА рдЧрдгрдирд╛ рдкрд╣рд▓реЗ рдХреЗ рд╕рдорд╛рди рдмрд┐рдВрджреБрдУрдВ рдкрд░ рд╣реЛрдЧреАред
рд╕реМрднрд╛рдЧреНрдп рд╕реЗ, рдЖрдк рдорд╢реАрди рд╕рдордп рдмрд░реНрдмрд╛рдж рдХрд░рдиреЗ рд╕реЗ рдмрдЪ рд╕рдХрддреЗ рд╣реИрдВ рдпрджрд┐ рдЖрдк рд╕рд┐рдореНрдкрд╕рди рд╡рд┐рдзрд┐ рдХреЛ рдЕрдзрд┐рдХ рд╕рд░рд▓ рддрд░реАрдХреЗ рд╕реЗ рд▓рд╛рдЧреВ рдХрд░рддреЗ рд╣реИрдВред рдХрд░реАрдм рд╕реЗ рджреЗрдЦрдиреЗ рдХреЗ рдмрд╛рдж, рд╣рдо рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рд╕рд┐рдореНрдкрд╕рди рдлреЙрд░реНрдореВрд▓реЗ рджреНрд╡рд╛рд░рд╛ рдЗрдВрдЯреАрдЧреНрд░рд▓ рдХреЛ рджреЛ рдЗрдВрдЯреАрдЧреНрд░рд▓реНрд╕ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╡рд┐рднрд┐рдиреНрди рдЪрд░рдгреЛрдВ рдХреЗ рд╕рд╛рде рдЯреНрд░реИрдкреЗрдЬрд╝реЙрдЗрдбрд▓ рдлреЙрд░реНрдореВрд▓рд╛ рджреНрд╡рд╛рд░рд╛ рджрд░реНрд╢рд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдпрд╣ рддреАрди рдмрд┐рдВрджреБрдУрдВ рдкрд░ рдЕрднрд┐рдиреНрди рдХреЗ рд╕рдиреНрдирд┐рдХрдЯрди рдХреЗ рдореВрд▓ рдорд╛рдорд▓реЗ рдореЗрдВ рд╕рдмрд╕реЗ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рджреЗрдЦрд╛ рдЬрд╛рддрд╛ рд╣реИ (a,f0), (a+h,f1), (a+2h,f2) :
I_ {Simps, 2} = \ frac {h} {3} (f_0 + 4f_1 + f_2) = \ frac {4} {3} h \ left (\ frac {f_0 + f_1}} [2} + \ frac { f_1 + f_2} {2} \ right) - \ frac {1} {3} \ cdot2h \ frac {f_0 + f_2} {2} = \\ = \ frac {4I_ {trap, 2} - I_ {trap, 1 }} {3}
рдЗрд╕ рдкреНрд░рдХрд╛рд░, рдпрджрд┐ рд╣рдо рдЪрд░рдг рдХреЛ рдЖрдзреЗ рд╕реЗ рдХрдо рдХрд░рдиреЗ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдЕрдВрддрд┐рдо рджреЛ рдЧрдгрдирд╛рдУрдВ рдХреЛ рдЯреНрд░реИрдкреЗрдЬрд╝реЙрдЗрдб рд╡рд┐рдзрд┐ рджреНрд╡рд╛рд░рд╛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рд╕рдЯреАрдХрддрд╛ рдирд┐рдпрдВрддреНрд░рдг рдХреЗ рд╕рд╛рде рд╕рд┐рдореНрдкрд╕рди рд╡рд┐рдзрд┐ рдХреЛ рдФрд░ рдЕрдзрд┐рдХ рдХреБрд╢рд▓рддрд╛ рд╕реЗ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рдХреБрдЫ рдЗрд╕ рддрд░рд╣ ... class Quadrature: """ """ __sum = 0.0 __nseg = 1
рд╕рдорд▓рдореНрдмрд╛рдХрд╛рд░ рдФрд░ рдкрд░рд╡рд▓рдп рд╡рд┐рдзрд┐ рдХреА рдкреНрд░рднрд╛рд╡рд╢реАрд▓рддрд╛ рдХреА рддреБрд▓рдирд╛ рдХрд░реЗрдВ:
>>> import math >>> Quadrature.trapezoid(lambda x: 2 * x + 1 / math.sqrt(x + 1 / 16), 0, 1.5, rtol=1e-9) Total function calls: 65537 4.250000001385811 >>> Quadrature.simpson(lambda x: 2 * x + 1 / math.sqrt(x + 1 / 16), 0, 1.5, rtol=1e-9) Total function calls: 2049 4.2500000000490985
рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ, рджреЛрдиреЛрдВ рд╡рд┐рдзрд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде рдЙрддреНрддрд░ рдХрд╛рдлреА рдЙрдЪреНрдЪ рд╕рдЯреАрдХрддрд╛ рдХреЗ рд╕рд╛рде рдкреНрд░рд╛рдкреНрдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЗрдВрдЯреАрдЧреНрд░реИрдВрдб рдХреЗ рд▓рд┐рдП рдХреЙрд▓ рдХреА рд╕рдВрдЦреНрдпрд╛ рдмрд╣реБрдд рдЕрд▓рдЧ рд╣реИ - рдПрдХ рдЙрдЪреНрдЪ рдХреНрд░рдо рд╡рд┐рдзрд┐ 32 рдЧреБрдирд╛ рдЕрдзрд┐рдХ рдХреБрд╢рд▓ рд╣реИ!
рдПрдХреАрдХрд░рдг рддреНрд░реБрдЯрд┐ рдмрдирд╛рдо рдЪрд░рдгреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреЛ рдкреНрд▓реЙрдЯ рдХрд░рдХреЗ, рд╣рдо рдпрд╣ рд╕рддреНрдпрд╛рдкрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рд╕рд┐рдореНрдкрд╕рди рдлреЙрд░реНрдореВрд▓рд╛ рдХрд╛ рдЕрдиреБрдорд╛рдирд┐рдд рдХреНрд░рдо рдЪрд╛рд░ рд╣реИ, рдЕрд░реНрдерд╛рддреНред рд╕рдВрдЦреНрдпрд╛рддреНрдордХ рдПрдХреАрдХрд░рдг рддреНрд░реБрдЯрд┐ |ISimps,nтИТI|=O(1/n4) (рдФрд░ рдЗрд╕ рд╕реВрддреНрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдХреНрдпреВрдмрд┐рдХ рдмрд╣реБрдкрдж рдХреЗ рдЕрднрд┐рдиреНрди рдХрд┐рд╕реА рднреА n > 0 рдХреЗ рд▓рд┐рдП рдЧреЛрд▓рд╛рдИ рддреНрд░реБрдЯрд┐рдпреЛрдВ рддрдХ рдХреА рдЧрдгрдирд╛ рдХреА рдЬрд╛рддреА рд╣реИред)

рдЗрд╕рд▓рд┐рдП, рдЗрд╕ рддрд░рд╣ рдХреА рджрдХреНрд╖рддрд╛ рдореЗрдВ рд╡реГрджреНрдзрд┐ рд╕рд░рд▓ рдЯреНрд░реЗрдкреЛрдЬрд╝реЙрдЗрдб рдлреЙрд░реНрдореВрд▓рд╛ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдЙрддреНрдкрдиреНрди рд╣реЛрддреА рд╣реИред
рдЖрдЧреЗ рдХреНрдпрд╛ рд╣реИ?
рджреНрд╡рд┐рдШрд╛рдд рд╕реВрддреНрд░ рдХреА рд╕рдЯреАрдХрддрд╛ рдореЗрдВ рд╡реГрджреНрдзрд┐ рдХрд╛ рдЕрдЧрд▓рд╛ рддрд░реНрдХ рдЖрдо рддреМрд░ рдкрд░ рд╕рдордЭрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ - рдЕрдЧрд░ рд╣рдо рдХрднреА-рдХрднреА рдЙрдЪреНрдЪ рдбрд┐рдЧреНрд░реА рдХреЗ рдмрд╣реБрдкрдж рдХреЗ рд╕рд╛рде рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдЕрдиреБрдорд╛рдирд┐рдд рдХрд░рдирд╛ рдЬрд╛рд░реА рд░рдЦрддреЗ рд╣реИрдВ, рддреЛ рдЗрди рдмрд╣реБрдкрдж рдХреА рдЕрднрд┐рдиреНрдирддрд╛ рдореВрд▓ рдлрд╝рдВрдХреНрд╢рди рд╕реЗ рдЕрднрд┐рдиреНрди рд░реВрдк рд╕реЗ рдЕрдзрд┐рдХ рд╕рдЯреАрдХ рд░реВрдк рд╕реЗ рдЕрдиреБрдорд╛рдирд┐рдд рд╣реЛрдЧреАред рдЗрд╕ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХреЛ рджреНрд╡рд┐рдШрд╛рдд рдиреНрдпреВрдЯрди-рдХреЛрдЯреНрд╕ рд╕реВрддреНрд░ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред 8 рд╕рдиреНрдирд┐рдХрдЯрди рдЖрджреЗрд╢ рддрдХ рдХреЗ рд╕реВрддреНрд░ рдЬреНрдЮрд╛рдд рд╣реИрдВ, рд▓реЗрдХрд┐рди рд╡реИрдХрд▓реНрдкрд┐рдХ рд╢рдмреНрдж рднрд╛рд░рд╛рдВрдХ рдЧреБрдгрд╛рдВрдХ w i i in (2) рдХреЗ рдмреАрдЪ рдкреНрд░рдХрдЯ рд╣реЛрддреЗ рд╣реИрдВ, рдФрд░ рд╕реВрддреНрд░ рдЧрдгрдирд╛ рдореЗрдВ рд╕реНрдерд┐рд░рддрд╛ рдЦреЛ рджреЗрддреЗ рд╣реИрдВред
рджреВрд╕рд░реЗ рддрд░реАрдХреЗ рд╕реЗ рдХреЛрд╢рд┐рд╢ рдХрд░рддреЗ рд╣реИрдВред рджреНрд╡рд┐рдШрд╛рдд рд╕реВрддреНрд░ рдХреА рддреНрд░реБрдЯрд┐ рдХреЛ рдПрдХреАрдХрд░рдг рдЪрд░рдг рдПрдЪ рдХреА рд╢рдХреНрддрд┐рдпреЛрдВ рдореЗрдВ рдПрдХ рд╢реНрд░реГрдВрдЦрд▓рд╛ рдХреЗ рд░реВрдк рдореЗрдВ рджрд░реНрд╢рд╛рдпрд╛ рдЧрдпрд╛ рд╣реИред рдЯреНрд░реЗрдкреЗрдЬрд╝реЙрдЗрдб рд╡рд┐рдзрд┐ рдХреА рдПрдХ рдЙрд▓реНрд▓реЗрдЦрдиреАрдп рд╕рдВрдкрддреНрддрд┐ (рдФрд░ рдПрдХ рдорд┐рдбрдкреЙрдЗрдВрдЯ рдХреЗ рд╕рд╛рде рдЖрдпрддрд╛рдХрд╛рд░!) рд╣реИ рдХрд┐ рдЗрд╕рдХреЗ рд▓рд┐рдП рдЗрд╕ рд╢реНрд░реГрдВрдЦрд▓рд╛ рдореЗрдВ рдХреЗрд╡рд▓ рдбрд┐рдЧреНрд░реА рд╢рд╛рдорд┐рд▓ рд╣реИрдВ:
IрдЬрд╛рд▓,n[f,a,b]= intbaf(x)dx+C2h2+C4h4+C6h6+..., h= racban (5)
рд░рд┐рдЪрд░реНрдбрд╕рди рдПрдХреНрд╕рдЯреНрд░рдкрд▓реЗрд╢рди рдЗрд╕ рд╡рд┐рд╕реНрддрд╛рд░ рдХреЗ рдХреНрд░рдорд┐рдХ рдЕрдиреБрдорд╛рди рд▓рдЧрд╛рдиреЗ рдкрд░ рдЖрдзрд╛рд░рд┐рдд рд╣реИ: рдПрдХ рдмрд╣реБрдкрдж рджреНрд╡рд╛рд░рд╛ рдЗрдВрдЯреАрдЧреНрд░реЗрдЯ рдХрд░рдиреЗ рдХреА рдмрдЬрд╛рдп рдЕрднрд┐рдиреНрди рдХреА рдЧрдгрдирд╛ рдЕрдиреБрдорд╛рдиреЛрдВ рд╕реЗ I(h) рдПрдХ рдмрд╣реБрдкрдж рд╕рдиреНрдирд┐рдХрдЯрди рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬреЛ h = 0 рдХреЗ рд▓рд┐рдП рдЕрднрд┐рдиреНрди рдХреЗ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдореВрд▓реНрдп рдХреЛ рд╕рд░реНрд╡реЛрддреНрддрдо рд╕рдиреНрдирд┐рдХрдЯрди рджреЗрдирд╛ рдЪрд╛рд╣рд┐рдПред
рд╡рд┐рднрд╛рдЬрди рдХрджрдо рдХреА рднреА рд╢рдХреНрддрд┐рдпреЛрдВ рдореЗрдВ рдПрдХреАрдХрд░рдг рддреНрд░реБрдЯрд┐ рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рддреЗрдЬреА рд╕реЗ рдПрдХреНрд╕рдЯреНрд░рдкрд▓реЗрд╢рди рдХреЗ рдЕрднрд┐рд╕рд░рдг рдХреЛ рддреЗрдЬ рдХрд░рддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдЖрджреЗрд╢ 2 рдПрди рдХреЗ рд╕рдиреНрдирд┐рдХрдЯрди рдХреЗ рд▓рд┐рдП, рдЯреНрд░реИрдкреЛрдЬрд╝рд╛рдЗрдб рд╡рд┐рдзрд┐ рджреНрд╡рд╛рд░рд╛ рдЕрднрд┐рдиреНрди рдХреЗ рдХреЗрд╡рд▓ рдПрди рдорд╛рди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред
рдпрджрд┐ рд╣рдо рдорд╛рдирддреЗ рд╣реИрдВ рдХрд┐ рдкреНрд░рддреНрдпреЗрдХ рдмрд╛рдж рдХреА рдЕрд╡рдзрд┐ рдкрд┐рдЫрд▓реЗ рдПрдХ рд╕реЗ рдХрдо рд╣реИ, рддреЛ рд╣рдо рдХреНрд░рдорд┐рдХ рд░реВрдк рд╕реЗ рдПрдЪ рдХреА рдбрд┐рдЧреНрд░реА рдХреЛ рдмрд╛рд╣рд░ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рд╡рд┐рднрд┐рдиреНрди рдЪрд░рдгреЛрдВ рдХреЗ рд╕рд╛рде рдЕрднрд┐рдиреНрди рд╕рдиреНрдирд┐рдХрдЯрди рдХреА рдЧрдгрдирд╛ рдХрд░ рд░рд╣реЗ рд╣реИрдВред рдЪреВрдВрдХрд┐ рдЙрдкрд░реЛрдХреНрдд рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдЖрд╕рд╛рдиреА рд╕реЗ рд╣рдореЗрдВ рд╡рд┐рднрд╛рдЬрди рдХреЛ рдЖрдзреЗ рдореЗрдВ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЪрд░рдг рдПрдЪ рдФрд░ рдПрдЪ / 2 рдХреЗ рд▓рд┐рдП рд╕реВрддреНрд░реЛрдВ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░рдирд╛ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реИред
IрдЬрд╛рд▓,nтИТI рд▓рдЧрднрдЧC2h2; IрдЬрд╛рд▓,2nтИТI рд▓рдЧрднрдЧC2 left( frach2 right)2
рдпрд╣ рджрд┐рдЦрд╛рдирд╛ рдЖрд╕рд╛рди рд╣реИ рдХрд┐ рдЯреНрд░реЗрдкреЛрдЬрд╝реЙрдЗрдб рдлреЙрд░реНрдореВрд▓реЗ рдХреА рддреНрд░реБрдЯрд┐ рдХреЗ рд╡рд░рд┐рд╖реНрда рд╢рдмреНрдж рдХрд╛ рдЕрдкрд╡рд╛рдж рдмрд┐рд▓реНрдХреБрд▓ рд╕рд┐рдореНрдкрд╕рди рдлреЙрд░реНрдореВрд▓рд╛ рджреЗрдЧрд╛:
I=IрдЬрд╛рд▓,2nтИТC2 рдмрд╛рдПрдБ( frach2 right)2+O(h4) рд▓рдЧрднрдЧIрдЬрд╛рд▓,2nтИТ fracрдЬрд╛рд▓,2nтИТIрдЬрд╛рд▓,n1тИТ22=ISimps,2n
рд╕рд┐рдореНрдкрд╕рди рдлрд╛рд░реНрдореВрд▓реЗ рдХреЗ рд▓рд┐рдП рдЗрд╕реА рддрд░рд╣ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рджреЛрд╣рд░рд╛рддреЗ рд╣реБрдП, рд╣рдо рдкреНрд░рд╛рдкреНрдд рдХрд░рддреЗ рд╣реИрдВ:
ISimps,2nтИТI рд▓рдЧрднрдЧC4 left( frach2 right)4; ISimps,nтИТI рд▓рдЧрднрдЧC4h4
I = I_ {Simps, 2n} - C_4 \ left (\ frac {h} {2} \ right) ^ 4 + O (h ^ 6) \ рд▓рдЧрднрдЧ I_ {Simps, 2n} - \ frac / I_ {Simps, 2n} -I_ {Simps, n}} {1-2 ^ 4}
рдпрджрд┐ рдЖрдк рдЬрд╛рд░реА рд░рдЦрддреЗ рд╣реИрдВ, рддреЛ рдирд┐рдореНрди рддрд╛рд▓рд┐рдХрд╛ рдХрд░рдШреЗ:
2 рдЖрджреЗрд╢ | 4 рдЖрджреЗрд╢ | 6 рдЖрджреЗрд╢ | ... |
---|
рдореИрдВ 0,0 | | |
рдореИрдВ рез.реж | рдореИрдВ 1,1 | |
рдореИрдВ реи.реж | рдореИрдВ реи.рез | рдореИрдВ 2.2 |
... | ... | ... |
рдкрд╣рд▓реЗ рдХреЙрд▓рдо рдореЗрдВ рдЯреНрд░реИрдкреЛрдЬрд╝рд╛рдЗрдбрд▓ рд╡рд┐рдзрд┐ рджреНрд╡рд╛рд░рд╛ рдЧрдгрдирд╛ рдХреА рдЧрдИ рдЗрдВрдЯреАрдЧреНрд░рд▓ рд╢рд╛рдорд┐рд▓ рд╣реИрдВред рд╢реАрд░реНрд╖ рдкрдВрдХреНрддрд┐ рд╕реЗ рдиреАрдЪреЗ рдЬрд╛рдиреЗ рдкрд░, рдЦрдВрдб рдХрд╛ рд╡рд┐рднрд╛рдЬрди рджреЛ рдмрд╛рд░ рдЫреЛрдЯрд╛ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рдмрд╛рдПрдВ рд╕реНрддрдВрдн рд╕реЗ рджрд╛рдИрдВ рдУрд░ рдмрдврд╝рдиреЗ рдкрд░, рдЗрдВрдЯреАрдЧреНрд░рд▓ рдмрдврд╝ рдХреЗ рд╕рдиреНрдирд┐рдХрдЯрди рдХрд╛ рдХреНрд░рдо рдмрдврд╝рддрд╛ рд╣реИ (рдпрд╛рдиреА, рджреВрд╕рд░реЗ рдХреЙрд▓рдо рдореЗрдВ рд╕рд┐рдореНрдкрд╕рди рд╡рд┐рдзрд┐ рджреНрд╡рд╛рд░рд╛ рдЗрдВрдЯреАрдЧреНрд░рд▓ рд╢рд╛рдорд┐рд▓ рд╣реИрдВ, рдЖрджрд┐)ред
рддрд╛рд▓рд┐рдХрд╛ рдХреЗ рддрддреНрд╡, рдЬреИрд╕рд╛ рдХрд┐ рд╡рд┐рд╕реНрддрд╛рд░ (5) рд╕реЗ рдШрдЯрд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐ рд╕рдВрдмрдВрдз рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╣реИрдВ:
Ii,j=Ii,jтИТ1тИТ fracIi,jтИТ1тИТIiтИТ1,jтИТ11тИТ left( frach)Ijhi right)2=Ii,jтИТ1тИТ fracIi,jтИТ1тИТIiтИТ1,jтИТ11тИТ22рдЬреЗ (6)
рдЕрднрд┐рдиреНрди рдХреЗ рд╕рдиреНрдирд┐рдХрдЯрди рдХреА рддреНрд░реБрдЯрд┐ рдХрд╛ рдЕрдиреБрдорд╛рди рдПрдХ рдкрдВрдХреНрддрд┐ рдореЗрдВ рд╡рд┐рднрд┐рдиреНрди рдЖрджреЗрд╢реЛрдВ рдХреЗ рд╕реВрддреНрд░реЛрдВ рдХреЗ рдЕрдВрддрд░ рд╕реЗ рд▓рдЧрд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдЕрд░реНрдерд╛рддреНред
\ Delta_ {i, j} \ рдЕрдиреБрдорд╛рдирд┐рдд I_ {i, j} - I_ {i, j-1 "
рдЯреНрд░реЗрдкреЛрдЬрд╝реЙрдЗрдб рдПрдХреАрдХрд░рдг рдХреЗ рд╕рд╛рде рд░рд┐рдЪрд░реНрдбрд╕рди рдПрдХреНрд╕рдЯреНрд░рдкрд▓реЗрд╢рди рдХреЗ рдЙрдкрдпреЛрдЧ рдХреЛ рд░реЛрдордмрд░реНрдЧ рд╡рд┐рдзрд┐ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ ред рдпрджрд┐ рд╕рд┐рдореНрдкрд╕рди рд╡рд┐рдзрд┐ рдЯреНрд░реИрдкреЗрдЬрд╝реЙрдЗрдбрд▓ рд╡рд┐рдзрд┐ рджреНрд╡рд╛рд░рд╛ рджреЛ рдкрд┐рдЫрд▓реЗ рдореВрд▓реНрдпреЛрдВ рдХреЛ рдзреНрдпрд╛рди рдореЗрдВ рд░рдЦрддреА рд╣реИ, рддреЛ рд░реЛрдордмрд░реНрдЧ рд╡рд┐рдзрд┐ рдЗрдВрдЯреАрдЧреНрд░рд▓ рдХрд╛ рдЕрдзрд┐рдХ рд╕рдЯреАрдХ рдЕрдиреБрдорд╛рди рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЯреНрд░реИрдкреЛрдЬрд╝рд╛рдЗрдбрд▓ рд╡рд┐рдзрд┐ рджреНрд╡рд╛рд░рд╛ рдкрд╣рд▓реЗ рдЧрдгрдирд╛ рдХреА рдЧрдИ рд╕рднреА рдорд╛рдиреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреА рд╣реИред
рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрдирдПрдХ рдЕрддрд┐рд░рд┐рдХреНрдд рд╡рд┐рдзрд┐ рджреНрд╡рд┐рдШрд╛рдд рд╡рд░реНрдЧ рдореЗрдВ рдЬреЛрдбрд╝реА рдЬрд╛рддреА рд╣реИ
class Quadrature: """ """ __sum = 0.0 __nseg = 1
рдЖрдЗрдП рджреЗрдЦреЗрдВ рдХрд┐ рдЙрдЪреНрдЪ-рдХреНрд░рдо рд╕рдиреНрдирд┐рдХрдЯрди рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ:
>>> Quadrature.romberg(lambda x: 2 * x + 1 / math.sqrt(x + 1/16), 0, 1.5, rtol=1e-9, maxcol = 0) # Total function calls: 65537 4.250000001385811 >>> Quadrature.romberg(lambda x: 2 * x + 1 / math.sqrt(x + 1/16), 0, 1.5, rtol=1e-9, maxcol = 1) # Total function calls: 2049 4.2500000000490985 >>> Quadrature.romberg(lambda x: 2 * x + 1 / math.sqrt(x + 1/16), 0, 1.5, rtol=1e-9, maxcol = 4) Total function calls: 257 4.250000001644076
рд╣рдо рдЖрд╢реНрд╡рд╕реНрдд рд╣реИрдВ рдХрд┐, рдкреИрд░рд╛рдмреЛрд▓рд╛ рд╡рд┐рдзрд┐ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ, рдЗрдВрдЯреАрдЧреНрд░реИрдВрдб рдХреЗ рд▓рд┐рдП рдХреЙрд▓ рдХреА рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ 8 рдЧреБрдирд╛ рдХреА рдХрдореА рдЖрдИ рд╣реИред рдЖрд╡рд╢реНрдпрдХ рд╕рдЯреАрдХрддрд╛ рдореЗрдВ рдФрд░ рд╡реГрджреНрдзрд┐ рдХреЗ рд╕рд╛рде, рд░реЛрдордмрд░реНрдЧ рд╡рд┐рдзрд┐ рдХреЗ рдлрд╛рдпрджреЗ рдФрд░ рднреА рд╕реНрдкрд╖реНрдЯ рд╣реЛ рдЬрд╛рддреЗ рд╣реИрдВ:

рдХреБрдЫ рдиреЛрдЯ
рдЯрд┐рдкреНрдкрдгреА 1. рдЗрди рд╕рдорд╕реНрдпрд╛рдУрдВ рдореЗрдВ рдлрд╝рдВрдХреНрд╢рди рдХреЙрд▓ рдХреА рд╕рдВрдЦреНрдпрд╛ рдЕрднрд┐рдиреНрди рдХреА рдЧрдгрдирд╛ рдХрд░рддреЗ рд╕рдордп рд░рдХрдо рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреЛ рджрд░реНрд╢рд╛рддреА рд╣реИред рдЗрдВрдЯреАрдЧреНрд░реИрдВрдб рдХреА рдЧрдгрдирд╛ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреЛ рдХрдо рдХрд░рдиреЗ рд╕реЗ рди рдХреЗрд╡рд▓ рдХрдВрдкреНрдпреВрдЯрд┐рдВрдЧ рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХреЛ рдмрдЪрд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ (рд╣рд╛рд▓рд╛рдВрдХрд┐ рдпрд╣ рдПрдХ рдЕрдзрд┐рдХ рдЕрдиреБрдХреВрд▓рд┐рдд рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ рднреА рд╣реИ), рд▓реЗрдХрд┐рди рдкрд░рд┐рдгрд╛рдо рдкрд░ рд░рд╛рдЙрдВрдбрд┐рдВрдЧ рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЗ рдкреНрд░рднрд╛рд╡ рдХреЛ рднреА рдХрдо рдХрд░рддрд╛ рд╣реИред рдЗрд╕рд▓рд┐рдП, рдЬрдм рдЖрдк рдкрд░реАрдХреНрд╖рдг рдлрд╝рдВрдХреНрд╢рди рдХреЗ рдЕрднрд┐рдиреНрди рдХреА рдЧрдгрдирд╛ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЯреНрд░реИрдкреЛрдЬрд╝реЙрдЗрдб рд╡рд┐рдзрд┐ рдЬрдорд╛ рдХрд░рддреА рд╣реИ рдЬрдм рдЖрдк 5 ├Ч 10 -15 рдХреЗ рд╕рд╛рдкреЗрдХреНрд╖ рд╕рдЯреАрдХрддрд╛ рдХреЛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдкреИрд░рд╛рдмреЛрд▓рд╛ рд╡рд┐рдзрд┐ - 2 ├Ч 10 -16 рдХреА рд╡рд╛рдВрдЫрд┐рдд рд╕рдЯреАрдХрддрд╛ (рдЬреЛ рджреЛрд╣рд░реА рд╕рдЯреАрдХ рд╕рдВрдЦреНрдпрд╛ рдХреА рд╕реАрдорд╛ рд╣реИ) рдХреЗ рд╕рд╛рде, рдФрд░ рд░реЛрдордмрд░реНрдЧ рд╡рд┐рдзрд┐ рдЧрдгрдирд╛ рдХреЗ рд╕рд╛рде рдореБрдХрд╛рдмрд▓рд╛ рдХрд░рддреА рд╣реИред рдорд╢реАрди рд╕рдЯреАрдХрддрд╛ рдХреЗ рд╕рд╛рде рдЕрднрд┐рдиреНрди рдкрд░реАрдХреНрд╖рдг (рдХрдо рдмрд┐рдЯ рддреНрд░реБрдЯрд┐ рдХреЗ рд╕рд╛рде)ред рдпрд╣реА рд╣реИ, рди рдХреЗрд╡рд▓ рдлрд╝рдВрдХреНрд╢рди рдХреЙрд▓ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреЗ рд▓рд┐рдП рдПрдХреАрдХрд░рдг рдХреА рд╕рдЯреАрдХрддрд╛ рдмрдврд╝ рдЬрд╛рддреА рд╣реИ, рдмрд▓реНрдХрд┐ рдЕрднрд┐рдиреНрди рдХреА рдЧрдгрдирд╛ рдХреА рдЕрдзрд┐рдХрддрдо рдкреНрд░рд╛рдкреНрдд рд╕рдЯреАрдХрддрд╛ рднреА рд╣реЛрддреА рд╣реИред
рдЯрд┐рдкреНрдкрдгреА 2. рдпрджрд┐ рд╡рд┐рдзрд┐ рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рд╕рдЯреАрдХрддрд╛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдиреЗ рдкрд░ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рд╣реЛ рдЬрд╛рддреА рд╣реИ, рддреЛ рдЗрд╕рдХрд╛ рдорддрд▓рдм рдпрд╣ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдЕрднрд┐рдиреНрди рдХреЗ рдкрд░рд┐рдХрд▓рд┐рдд рдореВрд▓реНрдп рдореЗрдВ рд╕рдорд╛рди рд╕рдЯреАрдХрддрд╛ рд╣реИред рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдпрд╣ рдЙрди рдорд╛рдорд▓реЛрдВ рдкрд░ рд▓рд╛рдЧреВ рд╣реЛрддрд╛ рд╣реИ рдЬрдм рдирд┐рд░реНрджрд┐рд╖реНрдЯ рддреНрд░реБрдЯрд┐ рдорд╢реАрди рд╕рдЯреАрдХрддрд╛ рдХреЗ рдХрд░реАрдм рд╣реЛрддреА рд╣реИред
рдЯрд┐рдкреНрдкрдгреА 3. рдпрджреНрдпрдкрд┐ рдХрдИ рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рд░реЛрдордмрд░реНрдЧ рд╡рд┐рдзрд┐ рд▓рдЧрднрдЧ рдЬрд╛рджреБрдИ рддрд░реАрдХреЗ рд╕реЗ рдХрд╛рдо рдХрд░рддреА рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдорд╛рдирддреА рд╣реИ рдХрд┐ рдЗрдВрдЯреАрдЧреНрд░реИрдВрдб рдиреЗ рдЙрдЪреНрдЪ рдЖрджреЗрд╢реЛрдВ рдХреЗ рд╡реНрдпреБрддреНрдкрдиреНрди рдХреЛ рдмрд╛рдзреНрдп рдХрд┐рдпрд╛ рд╣реИред рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдХрд┐рдиреНрдХреНрд╕ рдпрд╛ рдмреНрд░реЗрдХ рдХреЗ рд╕рд╛рде рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП, рдпрд╣ рд╕рд░рд▓ рддрд░реАрдХреЛрдВ рд╕реЗ рднреА рдмрджрддрд░ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, f ( x ) = рдХреЛ рдПрдХреАрдХреГрдд рдХрд░реЗрдВ x |:
>>> Quadrature.trapezoid(abs, -1, 3, rtol=1e-5) Total function calls: 9 5.0 >>> Quadrature.simpson(abs, -1, 3, rtol=1e-5) Total function calls: 17 5.0 >>> Quadrature.romberg(abs, -1, 3, rtol=1e-5, maxcol = 2) Total function calls: 17 5.0 >>> Quadrature.romberg(abs, -1, 3, rtol=1e-5, maxcol = 3) Total function calls: 33 5.0 >>> Quadrature.romberg(abs, -1, 3, rtol=1e-5, maxcol = 4) Total function calls: 33 5.000001383269357
рдЯрд┐рдкреНрдкрдгреА 4. рдРрд╕рд╛ рдкреНрд░рддреАрдд рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдЙрдЪреНрдЪрддрд░ рд╕рдиреНрдирд┐рдХрдЯрди рдХреНрд░рдо, рдмреЗрд╣рддрд░ рд╣реЛрдЧрд╛ред рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рд░реЛрдордмрд░реНрдЧ рддрд╛рд▓рд┐рдХрд╛ рдореЗрдВ рд╕реНрддрдВрднреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреЛ 4-6 рддрдХ рд╕реАрдорд┐рдд рдХрд░рдирд╛ рдмреЗрд╣рддрд░ рд╣реИред рдЗрд╕реЗ рд╕рдордЭрдиреЗ рдХреЗ рд▓рд┐рдП, рд╕реВрддреНрд░ (6) рджреЗрдЦреЗрдВред рджреВрд╕рд░рд╛ рд╢рдмреНрдж j -1th рдХреЙрд▓рдо рдХреЗ рджреЛ рд▓рдЧрд╛рддрд╛рд░ рддрддреНрд╡реЛрдВ рдХрд╛ рдЕрдВрддрд░ рд╣реИ рдЬреЛ рд▓рдЧрднрдЧ 4 j рд╕реЗ рд╡рд┐рднрд╛рдЬрд┐рдд рд╣реИред рдХреНрдпреЛрдВрдХрд┐ j -th рдХреЙрд▓рдо рдореЗрдВ рдХреНрд░рдо 2 j рдХрд╛ рдПрдХ рдЕрднрд┐рдиреНрди рдЕрдВрдЧ рд╣реЛрддрд╛ рд╣реИ, рдлрд┐рд░ рдЕрдВрддрд░ рд╕реНрд╡рдпрдВ (1 / n i ) 2 j ~ 4 - ij рдХреЗ рдХреНрд░рдо рдХрд╛ рд╣реЛрддрд╛ рд╣реИред рд╡рд┐рднрд╛рдЬрди рдХреЛ рдзреНрдпрд╛рди рдореЗрдВ рд░рдЦрддреЗ рд╣реБрдП, ~ 4 - ( i +1) j ~ 4 - j 2 рдкреНрд░рд╛рдкреНрдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдпрд╛рдиреА j ~ 7 рдХреЗ рд▓рд┐рдП, (6) рдореЗрдВ рджреВрд╕рд░рд╛ рд╢рдмреНрдж рдлрд╝реНрд▓реЛрдЯрд┐рдВрдЧ-рдкреЙрдЗрдВрдЯ рд╕рдВрдЦреНрдпрд╛рдУрдВ рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдкрд░ рдЖрджреЗрд╢реЛрдВ рдХреА рдХрдореА рдХреЗ рдмрд╛рдж рд╕рдЯреАрдХрддрд╛ рдЦреЛ рджреЗрддрд╛ рд╣реИ, рдФрд░ рд╕рдиреНрдирд┐рдХрдЯрди рдХреНрд░рдо рдореЗрдВ рд╡реГрджреНрдзрд┐ рдЧреЛрд▓рд╛рдИ рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЗ рд╕рдВрдЪрдп рдХреЛ рдЬрдиреНрдо рджреЗ рд╕рдХрддреА рд╣реИред
рдЯрд┐рдкреНрдкрдгреА 5. рдЗрдЪреНрдЫреБрдХ рдкрдХреНрд╖ рдмреНрдпрд╛рдЬ рдХреЗ рд▓рд┐рдП рдЕрднрд┐рдиреНрди рдХреЛ рдЦреЛрдЬрдиреЗ рдХреЗ рд▓рд┐рдП рд╡рд░реНрдгрд┐рдд рд╡рд┐рдзрд┐рдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред int10 sqrtx sinxdx рдФрд░ рдЙрд╕рдХреЗ рдмрд░рд╛рдмрд░ int102t2 sint2dt ред рдЬреИрд╕рд╛ рдХрд┐ рд╡реЗ рдХрд╣рддреЗ рд╣реИрдВ, рдЕрдВрддрд░ рдорд╣рд╕реВрд╕ рдХрд░рддреЗ рд╣реИрдВред
рдирд┐рд╖реНрдХрд░реНрд╖
рдПрдХ рд╕рдорд╛рди рдЧреНрд░рд┐рдб рдкрд░ рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд╕рдВрдЦреНрдпрд╛рддреНрдордХ рдПрдХреАрдХрд░рдг рдХреЗ рдмреБрдирд┐рдпрд╛рджреА рддрд░реАрдХреЛрдВ рдХрд╛ рд╡рд┐рд╡рд░рдг рдФрд░ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдкреНрд░рд╕реНрддреБрдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдпрд╣ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдХрд┐ рдХреИрд╕реЗ, рдПрдХ рд╕рд░рд▓ рд╕рдВрд╢реЛрдзрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП, рдЯреНрд░реЗрдкреЛрдЬрд╝реЙрдЗрдб рдкрджреНрдзрддрд┐ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рд░реЛрдордмрд░реНрдЧ рд╡рд┐рдзрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЪрддреБрд░реНрднреБрдЬ рд╕реВрддреНрд░реЛрдВ рдХреЗ рд╡рд░реНрдЧ рдХреЛ рдкреНрд░рд╛рдкреНрдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬреЛ рд╕рдВрдЦреНрдпрд╛рддреНрдордХ рдПрдХреАрдХрд░рдг рдХреЗ рдЕрднрд┐рд╕рд░рдг рдХреЛ рддреЗрдЬ рдХрд░рддрд╛ рд╣реИред рд╡рд┐рдзрд┐ "рд╕рд╛рдзрд╛рд░рдг" рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рдПрдХреАрдХреГрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдХрд╛рдо рдХрд░рддреА рд╣реИ, рдЕрд░реНрдерд╛рддреНред рдПрдХреАрдХрд░рдг рдХреЗ рдЕрдВрддрд░рд╛рд▓ рдкрд░ рдХрдордЬреЛрд░ рд░реВрдк рд╕реЗ рднрд┐рдиреНрди, рдЦрдВрдб рдХреЗ рдХрд┐рдирд╛рд░реЛрдВ рдкрд░ рдХреЛрдИ рд╡рд┐рд▓рдХреНрд╖рдгрддрд╛ рдирд╣реАрдВ рд╣реИ (рджреЗрдЦреЗрдВ рд░реЗрдорд╛рд░реНрдХ 5), рддреЗрдЬреА рд╕реЗ рджреЛрд▓рди, рдЖрджрд┐ред
( [3] тАФ C++).
- .. , .. . . .: . 1989.
- J. Stoer, R. Bulirsch. Introduction to Numerical Analysis: Second Edition. Springer-Verlag New York. 1993.
- WH Press, SA Teukolsky, WT Vetterling, BP Flannery. Numerical Recipes: Third Edition. Cambridge University Press. 2007.