Numerická derivace
Author
Albert FloresNumerická derivace je numerická metoda odhadu derivace funkce na základě hodnoty této funkce v konečně mnoha bodech. Numerickou derivaci obvykle používáme v situaci, kdy nejsme schopni určit derivaci funkce analyticky nebo kdy práce s analyticky vyjádřenou derivací není efektivní.
Základní princip
Numerické derivování je způsob, jak odhadnout derivaci funkce f(x) v bodě x bez derivování analytickou cestou, jenom na základě znalosti funkčních hodnot v konečně mnoha bodech.
Geometricky derivace vyjadřuje směrnici tečny ke grafu funkce v bodě. Při numerické derivaci je tečna nahrazena sečnou vedenou známými body na grafu funkce.
Fyzikálně derivace vyjadřuje okamžitou rychlost s jakou se mění fyzikální veličina a při numerické derivaci je tato okamžitá rychlost nahrazena průměrnou rychlostí.
Vzorce pro numerickou derivaci
Pro aproximaci první derivace se nejčastěji používá aproximace prvního řádu pomocí dopředné diference \frac{\mathrm d f}{\mathrm dx}=\frac{f(x+h)-f(x)}{h}+\mathcal O(h) a zpětné diference \frac{\mathrm d f}{\mathrm dx}=\frac{f(x)-f(x-h)}{h}+\mathcal O(h), nebo přesnější aproximace druhého řádu pomocí centrální diference \frac{\mathrm d f}{\mathrm dx}=f'(x)=\frac{f(x+h)-f(x-h)}{2h}+\mathcal O(h^2). Pro aproximaci druhé derivace se nejčastěji používá aproximace druhého řádu \frac{\mathrm d^2f}{\mathrm dx^2}= \frac{f(x-h)-2f(x)+f(x+h)}{h^2}+\mathcal O(h^2).
Derivace empirických a numerických dat
Funkce daná empiricky získanými body (tj. sérii naměřených bodů) není zpravidla vůbec vhodná pro derivování, protože malá chyba měření značně ovlivní derivaci. +more Proto je vhodné nejdříve data vhodně upravit (vyhladit např. aproximací podle metody nejmenších čtverců). Pro výpočet derivace pomocí centrální diference je nutné mít okolní funkční hodnoty, pro výpočet dopředné diference následující funkční hodnotu a pro výpočet zpětné diference předchozí funkční hodnotu. Proto se při numerickém derivování funkce dané v konečném počtu ekvidistantně vzdálených bodů používá v prvním bodě dopředná diference, v posledním bodě zpětná diference a v ostatních bodech přesnější centrální diference. Viz například funkce numpy. gradient programovacího jazyka Python. Výsledná derivace je poté vypočtena ve stejných bodech, ve kterých je dána původní funkce.