Simpsonovo pravidlo
Simpsonova pravidla jsou vzorce používané pro numerický výpočet určitých integrálů, které jsou pojmenovány po Thomasu Simpsonovi (1710–1761).
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ěmecky Keplersche 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ě.
1/3 a 3/8 Simpsonova pravidla jsou dvěma speciálními případy uzavřených Newtonových–Cotesových vzorců.
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 1/3 pravidlo
editovatOdvození Simpsonova pravidla
editovatKvadratická interpolace
editovatSimpsonovo 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:
Pomocí substituční metody můžeme ukázat, že[1][2]
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:
(zobecnění je popsáno níže).
Průměrování obdélníkové a lichoběžníkové metody
editovatSimpsonovo pravidlo lze odvodit také ze dvou jednodušších aproximací: obdélníkové metody (též Riemannův středový součet):
Chyby těchto aproximací jsou
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.
Neurčité koeficienty
editovatTř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
editovatChyba při aproximaci integrálu Simpsonovým pravidlem pro je
kde (řecké písmeno ksí) je nějaké číslo z intervalu [3][4]
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:
Složené Simpsonovo pravidlo
editovatPokud 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
editovatSimpsonovo 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 3/8 pravidlo
editovatPokud interval rozdělíme na podintervalů délky a budeme počítat hodnoty funkce v bodech dostáváme vzorec
přičemž zbytek je:
Pro použití tohoto pravidla musí být dělitelné třemi.
Alternativní rozšíření Simpsonova pravidla
editovatSlož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ů.
Simpsonova pravidla v případě úzké špičky
editovatPř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
editovatV 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:
kde
Ukázka implementace Simpsonovy metody v Pythonu |
from collections.abc import Sequence
def simpson_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) - 1
h = [x[i + 1] - x[i] for i in range(0, N)]
assert N > 0
result = 0.0
for i in range(1, N, 2):
h0, h1 = h[i - 1], h[i]
hph, hdh, hmh = h1 + h0, h1 / h0, h1 * h0
result += (hph / 6) * (
(2 - hdh) * f[i - 1] + (hph**2 / hmh) * f[i] + (2 - 1 / hdh) * f[i + 1]
)
if N % 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))
return result
|
Odkazy
editovatPoznámky
editovat- ↑ Atkinson 1989, s. 256.
- ↑ Süli a Mayers 2003, §7.2.
- ↑ Atkinson 1989, equation (5.1.15).
- ↑ Süli a Mayers 2003, Věta 7.2.
- ↑ Atkinson 1989, s. 257-258.
- ↑ Süli a Mayers 2003, §7.5.
- ↑ a b Matthews 2004.
- ↑ Press 1989, s. 122.
- ↑ a b Kalambet, Kozmin a Samokhin 2018.
- ↑ Kylänpää 2019.
- ↑ Cartwright 2016.
Reference
editovatV 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. ISBN 0-471-50023-2.
- BURDEN, Richard L.; FAIRES, J. Douglas, 2000. Numerical Analysis. 7. vyd. [s.l.]: Brooks/Cole. Dostupné online. ISBN 0-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. ISBN 0-521-37516-9.
- SÜLI, Endre; MAYERS, David, 2003. An Introduction to Numerical Analysis. [s.l.]: Cambridge University Press. ISBN 0-521-00794-1.
- KAW, Autar; KALU, Egwu; NGUYEN, Duc, 2008. Numerical Methods with Applications [online]. 2008. Dostupné online.
- 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. ISSN 0169-7439. DOI 10.1016/j.chemolab.2018.06.001.
- KYLÄNPÄÄ, Ilkka, 2019. Computational Physics course. In: Tampere University: [s.n.].
Související články
editovatExterní odkazy
editovat- Obrázky, zvuky či videa k tématu Simpsonovo pravidlo na Wikimedia Commons
- Simpson formula na Encyclopedia of Mathematics, EMS Press, 2001 [1994]
- "Simpson's Rule" MathWorld. Weisstein, Eric W.
- Aplikace Simpsonova pravidla – Earthwork Excavation (Note: Vzorec popsaný v toto stránka je správný ale existují chyby v výpočet který musí dávají výsledek 569m3 a not 623m3 jako uvedeny)
- Simpson's 1/3. pravidlo integrace – Poznámky/zmiňuje, PPT, Mathcad, Matlab, Mathematica, Maple v Numerický Metody pro KMEN univerzitní
- Podrobný popis počítačové implementace popsal Dorai Sitaram v Teach Yourself Scheme v Fixnum Dnů, Appendix C[nedostupný zdroj]