F8370 Moderní metody modelování ve fyzice jaro 2021 D. Hemzal, F. Múnz hemzal@physics.muni.cz Numerický výpočet derivace Taylorův rozvoj spojité funkce y{x) v okolí bodu x = a můžeme zapsat jako y(x) = y(a) + y'(a)(x - a) + -y"(a)(x - a)2 + . . . JJT^^ ~ *f+\ (1) zde se zbytkem v Lagrangeově tvaru, kde £ leží mezi x & a. Význam zbytku spočívá v tom, že s jeho využitím je rozvoj funkce neaproximativní. Není sice jasné, jak konkrétně zvolit hodnotu £, ale i tak můžeme zbytek prostřednictvím jeho majorizace dobře použít k odhadu přesnosti rozvoje. Diskretizace Diskretizované hodnoty nezávislé proměnné x označíme x[n]. V těchto uzlových bodech evakuujeme závislou proměnnou y, označíme přirozeně y(x[n]) = y[n]. V rámci (ekvidistantní) diskretizace zvolme x[n+l] — x[n] = e > 0. Předpokládejme v dalším speciálně rozvoje jen v uzlových bodech, například y(x[n] + e) = y(x[n}) + y'(x[n])e + ^y"(x[n])e2 + ..., neboli, s využitím zavedeného značení, y[n+l] = y[n] + y'[n]e + ^y"[n]e2 + ... (2) Po shrnutí členů s druhou a vyšší derivacemi y do 0(e2) oc e2 můžeme napsat y'[n] = y[n+1]-y[n]+0(s). (3) Tomuto vzorci se říká jednobodová dopředná první derivace, podle počtu a typu bodů, které jsou ve vzorci zahrnuty kromě bodu výchozího; chyba této formule je řádu e. Stejně tak jsme ovšem mohli napsat y(x[n] - e) = y[n] - y'[n}e + ^y"[n}£2 + ... (4) a byli bychom dostali y[n] -y[n-l] y[n\ =----hO(e), (5) jednobodovou zpětnou první derivaci. Podotkněme, že numerické hodnoty dopředně a zpětné derivace se obecně liší (a to v řádu chyby 0{e)) i pro spojitou výchozí funkci. Chybu můžeme zmenšit, když použijeme oba rozvoje současně: přidáním druhé rovnice jsme získali jeden stupeň volnosti navíc a ze soustavy (2), (4) tak můžeme eliminovat člen s druhou derivací, y'[n] = y[n+1]-£y[n-1]+0(e2); (6) tomuto vzorci se říká dvoubodová centrální první derivace. Jak je vidět z tvaru zbytku, pokud bude e malé, skutečně došlo oproti jednobodovým formulím ke zlepšení přesnosti. 1 Obdobným způsobem se hledají n-bodové k-té derivace. Například dvoubodová centrální druhá derivace se hledá opět ze soustavy (2), (4), tentokrát vyloučíme člen s první derivací a dostáváme y"[n] = yi^]-Mn]+y[n-l] + (?) Centrální vzorec nemusí být možné použít u hraničních bodů intervalu, na kterém máme funkci vyjádřenu. Jedna varianta je vrátit se zpět k příslušně orientované derivaci jednobodové, ale (z hlediska chyby) je lepší v takovém případě - například u levé hranice - vypomoci si rozvojem y[n+2] = y[n] + y'[n]2s + \y"[n\le2 + 0(s3) (8) a ze soustavy (2), (8) opět vyloučit druhou derivaci; obdržíme yi[n] = -Mn]+Mn+l]-y[n+2] + ^ (g) Tento vzorec se nazývá dvoubodová dopředná první derivace. 2