Numerická derivace

Derivace a konečné diference. Obrázek ukazuje spojitou funkci s funkční hodnotou známou ve vybraných bodech. Účelem je aproximovat derivaci v bodě vyznačeném červeným diamantem. Je použito několik různých metod (dopředná, zpětná a centrální diference), které aproximují skutečnou rychlost růstu, tj. derivaci.

Numerická 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 v bodě 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

a zpětné diference
nebo přesnější aproximace druhého řádu pomocí centrální diference
Pro aproximaci druhé derivace se nejčastěji používá aproximace druhého řádu

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. 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[1] programovacího jazyka Python. Výsledná derivace je poté vypočtena ve stejných bodech, ve kterých je dána původní funkce.

Reference

  1. numpy.gradient — NumPy v1.22 Manual. numpy.org [online]. [cit. 2022-05-26]. Dostupné online. 

Média použitá na této stránce

Diference.png
Autor: Slowcuber, Licence: CC BY-SA 4.0
Různé aproximace derivace pomocí konečných diferencí