Nejjednodušší Simpsonovo pravidlo nazývané také Simpsonovo 1/3 pravidlo je
V němčině a některých dalších jazycích je pojmenované po Janu Keplerovi, který jej odvodil již v roce 1615 pro výpočet objemu vinných sudů (německyKeplersche Fassregel). Přibližná rovnost v pravidle přechází na přesnou rovnost, pokud f je polynom nejvýše třetího stupně.
Pokud se interval rozdělí na n stejných dílů a na každý se aplikuje Simpsonovo pravidlo, dostaneme složené Simpsonovo pravidlo, u něhož se pro výpočet integrálu počítá vážený průměr hodnot funkce se střídajícími se vahami 4/3 a 2/3.
Simpsonovo druhé pravidlo, také nazývané Simpsonovo 3/8 pravidlo vyžaduje o jedno vyhodnocení funkce v integračním rozsahu více, ale poskytuje přesný výsledek pro polynomy do třetího stupně.
Při konstrukci lodí a při odhadech stability lodí se používá také Simpsonovo třetí pravidlo, které pro numerickou matematiku nemá žádný speciální význam, viz Simpsonova pravidla (stabilita lodí).
Simpsonovo pravidlo lze odvodit tak, že nahradíme integrovanou funkci kvadratickým polynomem (tj. parabolou), který v koncových bodech integračního intervalu a a v jeho středu nabývá stejných hodnot jako . Pro odvození vzorce tohoto polynomu můžeme použít Lagrangeovu polynomiální interpolaci:
Pokud velikost kroků, ve kterých počítáme hodnotu funkce vyjádříme jako dostaneme vzorec, ze kterého je patrné, proč je v názvu této metody numerické integrace zlomek 1/3:
kde označuje člen asymptoticky úměrný . Dva členy si nejsou rovné; pro více detailů viz Landauova notace. Z výše uvedeného vzorce pro chyby obdélníkové a lichoběžníkové metody vyplývá, že pokud použijeme vážený průměr výsledků obou metod a bude chtít, aby měl první chybový člen nulovou hodnotu, musíme použít váhu 2/3 pro výsledek obdélníkové metody a 1/3 pro výsledek lichoběžníkové metody:
což je právě Simpsonovo pravidlo.
Myšlenku použití váženého průměru můžeme aplikovat na kombinaci výsledků jiných aproximačních metod výpočtu určitého integrálu (například lichoběžníkové metody s dvojnásobným počtem bodů), a odstranit jiný chybový člen. To je princip Rombergovy metody.
Třetí odvození Simpsonova pravidla vychází z myšlenky vyjádřit hodnotu integrálu pomocí kombinace hodnot integrované funkce v krajních bodech integračního intervalu a v jeho středu:
Koeficienty α, β a γ lze zafixovat tím, že budeme vyžadovat, aby tato aproximace byla přesná pro všechny kvadratické polynomy. Výsledkem je Simpsonovo pravidlo.
Chyba je asymptoticky úměrná . Podle výše uvedených odvození by však chyba měla být úměrná . Simpsonovo pravidlo však má ve vzorci pro chybu o řád vyšší mocninu, protože body, v nichž se integrand vyčísluje, jsou v intervalu rozložené symetricky.
Když je chybový člen úměrný čtvrté derivaci funkce v bodě , Simpsonovo pravidlo dává přesné výsledky, pokud je funkce polynomem nejvýše třetího stupně, protože čtvrtá derivace takových polynomů je ve všech bodech nulová.
Pokud existuje druhá derivace a v intervalu je konvexní, platí nerovnost:
Pokud interval integrace je v nějakém smyslu „malý“, pak Simpsonovo pravidlo s podintervaly bude dávat dostatečně přesnou aproximaci hodnoty integrálu. Slovem „malý“ máme na mysli to, že integrovaná funkce je na tomto intervalu relativně hladká. Pro takové funkce bude hladký kvadratický interpolant, který se používá v Simpsonově pravidle, dávat dobré výsledky.
Často však funkce, kterou chceme integrovat, není na uvažovaném intervalu hladká. Obvykle to znamená, že buď silně osciluje nebo nemá v určitých bodech derivace. V těchto případech může Simpsonovo pravidlo dávat velmi špatné výsledky. Obvyklým způsobem, jak se vypořádat s tímto problémem je rozdělení intervalu na několik menších podintervalů. Simpsonovo pravidlo se pak aplikuje na každý podinterval a výsledky se sečtou, aby se získala aproximace integrálu na celém intervalu. Tento druh přístupu se nazývá složené Simpsonovo pravidlo.
Předpokládejme, že interval je rozdělují na podintervalů, kde je sudé číslo. Složené Simpsonovo pravidlo je pak dáno vzorcem
kde pro s ; konkrétně, a . Toto složené pravidlo je pro totožné s normálním Simpsonovým pravidlem popsaným v předchozí části.
Chyba složeného Simpsonova pravidla je
kde je nějaké číslo mezi a a je „délka kroku“.[5][6]Absolutní hodnota chyby je omezena výrazem
Toto formulace rozděluje interval na podintervaly stejné délky. V praxi je často výhodné používat podintervaly různých délek, a podrobněji se zabývat místy, kde je integrand méně rozumný. To vede k adaptivní Simpsonově metodě.
Simpsonovo 3/8 pravidlo, také nazývaný Simpsonovo druhé pravidlo, je druhá metoda pro numerickou integraci, kterou navrhl Thomas Simpson. Používá kubickou interpolaci místo kvadratické. Simpsonovo 3/8 pravidlo popisuje vzorec:
kde b − a = 3h.
Chyba této metody je:
kde je nějaké číslo mezi a . 3/8 pravidlo má tedy dvojnásobnou přesnost než standardní metoda, ale používá o jednu funkční hodnotu více. Existuje také složené 3/8 pravidlo, obdobně jako výše.[7]
Dalším zobecněním tohoto konceptu na interpolaci pomocí polynomů libovolného stupně jsou Newtonovy–Cotesovy vzorce.
Složené Simpsonovo pravidlo lze také aplikovat na překrývající se segmenty, což dává:[8]
Tento vzorec lze získat zkombinováním původního složeného Simpsonova pravidla s pravidlem, kde se použije Simpsonovo 3/8 pravidlo v krajních podintervalech a standardní tříbodové pravidlo ve zbývajících podintervalech. Výsledek získáme použitím průměru obou vzorců.
Při zjišťování plochy ohraničené funkcí, která má úzké špičky jsou Simpsonova pravidla mnohem méně efektivní než lichoběžníková metoda. Jmenovitě složené Simpsonovo 1/3 pravidlo vyžaduje 1,8krát více bodů, aby se dosáhlo stejné přesnosti[9] jako při použití lichoběžníkové metody. Složené Simpsonovo 3/8 pravidlo je v tomto případě ještě méně přesné. Integraci Simpsonovým 1/3 pravidlem lze považovat za součet 2/3 výsledku získaného lichoběžníkovou metodou s krokem h a 1/3 aplikace obdélníkového pravidla s krokem 2h. Zprůměrování složených součtů Simpsonova 1/3 pravidla se správně posunutými rámci dává následující vzorce:
kde se používají dva body mimo integrační oblast a
kde se používají pouze body uvnitř integrační oblasti. Aplikace druhého pravidla na oblast se 3 body dává Simpsonovo 1/3 pravidlo, na oblast se 4 body Simpsonovo 3/8 pravidlo.
Tato pravidla se velmi podobají Pressovu alternativnímu rozšíření Simpsonova pravidla. Koeficienty ve velké části oblasti, kde se počítá integrál, jsou rovny jedné, rozdíly jsou pouze na jejích okrajích. Tato tři pravidla lze spojit s Eulerovým-MacLaurinovým vzorcem s první derivací, který se nazývá Eulerova-MacLaurinova integrační pravidla prvního řádu.[9] Dvě výše uvedená pravidla se liší pouze způsobem, jak se počítá první derivace na konci oblasti. Člen s první derivací v Eulerově–MacLaurinově integračním pravidle zodpovídá za integrál druhé derivace, který se rovná rozdílu prvních derivací na okrajích integrační oblasti. Eulerova-Maclaurinova pravidla vyššího řádu je možné generovat přidáním rozdílu třetí, páté, atd. derivace s koeficienty, které jsou definovány Eulerovým–MacLaurinovým vzorcem.
Složené Simpsonovo pravidlo pro nepravidelně vzdálené body
V případech, kdy je potřeba, aby byl integrační interval rozdělen na nestejné intervaly – například kvůli nerovnoměrnému vzorkování dat nebo chybějícím nebo poškozeným datům. Předpokládejme, že rozdělíme interval na sudé počet podintervalů se šířkami . Pak složené Simpsonovo pravidlo popisuje vztah[10][11]
kde jsou funkce hodnoty v -tém bodě na intervalu , a koeficienty a jsou
Pro lichý počet podintervalů se výše uvedený vzorec používá až na druhý až poslední interval,
a poslední interval je ošetřen odděleně přidáním následujícího členu k výsledku:
fromcollections.abcimportSequencedefsimpson_nonuniform(x:Sequence[float],f:Sequence[float])->float:""" Integrace funkce Simpsonovým pravidlem pro nestajně vzdálené body. :param x: Seznam bodů, v nichž jsou známy hodnoty integrované funkce :param f: Seznam hodnot integrované funkce v bodech zadaných v x :return: approximation for the integral Viz ``scipy.integrate.simpson`` a ``_basic_simpson`` pro efektivnější implementaci používající broadcast z modulu numpy. """N=len(x)-1h=[x[i+1]-x[i]foriinrange(0,N)]assertN>0result=0.0foriinrange(1,N,2):h0,h1=h[i-1],h[i]hph,hdh,hmh=h1+h0,h1/h0,h1*h0result+=(hph/6)*((2-hdh)*f[i-1]+(hph**2/hmh)*f[i]+(2-1/hdh)*f[i+1])ifN%2==1:h0,h1=h[N-2],h[N-1]result+=f[N]*(2*h1**2+3*h0*h1)/(6*(h0+h1))result+=f[N-1]*(h1**2+3*h1*h0)/(6*h0)result-=f[N-2]*h1**3/(6*h0*(h0+h1))returnresult
V tomto článku byl použit překlad textu z článku Simpson's rule na anglické Wikipedii.
ATKINSON, Kendall E., 1989. An Introduction to Numerical Analysis. 2. vyd. [s.l.]: John Wiley & Sons. ISBN0-471-50023-2.
BURDEN, Richard L.; FAIRES, J. Douglas, 2000. Numerical Analysis. 7. vyd. [s.l.]: Brooks/Cole. Dostupné online. ISBN0-534-38216-9.
MATTHEWS, John H., 2004. Simpson's 3/8 Rule for Numerical Integration [online]. California State University, Fullerton, 2004 [cit. 2008-11-11]. Dostupné v archivu pořízeném z originálu dne 2008-12-04.
PRESS, William H.; FLANNERY, Brian P.; VETTERLING, William T.; TEUKOLSKY, Saul A., 1989. Numerical Recipes in Pascal: The Art of Scientific Computing. [s.l.]: Cambridge University Press. Dostupné online. ISBN0-521-37516-9.
SÜLI, Endre; MAYERS, David, 2003. An Introduction to Numerical Analysis. [s.l.]: Cambridge University Press. ISBN0-521-00794-1.
WEISSTEIN, Eric W., 2010. Newton-Cotes Formulas [online]. MathWorld, 2010 [cit. 2010-08-02]. Dostupné online.
CARTWRIGHT, Kenneth V., 2016. Simpson's Rule Integration with MS Excel and Irregularly-spaced Data. Journal of Mathematical Science and Mathematics Education. Roč. 11, čís. 2, s. 34–42. Dostupné online.
KALAMBET, Yuri; KOZMIN, Yuri; SAMOKHIN, Andrey. Comparison of integration rules in the case of very narrow chromatographic peaks. Chemometrics and Intelligent Laboratory Systems. 2018, roč. 179, s. 22–30. ISSN0169-7439. DOI10.1016/j.chemolab.2018.06.001.
KYLÄNPÄÄ, Ilkka, 2019. Computational Physics course. In: Tampere University: [s.n.].