Skládání funkcí
Jedna funkce toho moc nezmůže. Proto je umožněno, aby se funkce mohly skládat.
Motivace
Mějme dvě funkce. Například funkce, která nám vypočítá počet ujetých kilometrů na jeden litr benzinu. Dejme tomu, že naše auto ujede na jeden litr benzínu 10 kilometrů. Tuto funkci označíme f a definujeme ji jako f(x) = 10x, kde parametr x značí, kolik litrů benzínu máme. Takže pokud máme v nádrži šest litrů benzinu, auto nám ještě ujede f(6) = 10 · 6 = 60 kilometrů.
Druhá funkce nám může spočítat, kolik litrů benzínu si koupíme za daný počet korun. Dejme tomu, že litr benzínu stojí 30 korun. Pak by funkce, označíme ji g, vypadalo takto: g(x) = x / 30, kde x značí, za kolik korun chceme benzín koupit. Pokud máme 150 korun, koupili bychom g(150) = 150 / 30 = 5 litrů benzínu.
Nyní bychom se mohli zeptat, kolik kilometrů ještě ujedeme, když koupíme benzín za 750 korun?
Už máme funkce, které počítají vždy dílčí věc – počet ujetých kilometrů v závislosti na litrech a počet koupených litrů benzínu v závislosti na penězích. Nyní bychom potřebovali obě funkce složit.
Jak to vyřešit
Mohli bychom to vyřešit tak, že nejprve spočítáme, kolik litrů benzínu bychom koupili a poté, kolik bychom ujeli kilometrů. Zkusíme to. Za 750 korun bychom koupili g(750) = 750 / 30 = 25 litrů benzínu. A na 25 litrů benzínu bychom ujeli f(25) = 10 · 25 = 250 kilometrů.
Můžeme to ale vyřešit i jinak, skládáním funkcí. Můžeme definovat novou funkci h, která bude brát na vstupu počet peněz a na výstupu nám vrátí počet ujetých kilometrů. Funkce h definujeme pomocí funkcí f a g takto:
Takto definovaná funkce h vlastně dělá to, co jsme spočítali v prvním odstavci. Říká nám, že když dostaneme hodnotu x, tj. počet peněz, tak máme nejdřív vypočítat hodnotu g(x), což je počet litrů, které za ně koupíme. Tuto výslednou hodnotu g(x), v našem případě tak g(750) = 25 máme ještě vložit do funkce f, takže vypočítáme ještě f(25) = 250.
Můžeme získat i přímý zápis funkce h. Vezmeme funkci f a všechny výskyty parametru x nahradíme funkcí g. Funkce f vypadá takto: f(x) = 10x a my za parametr x dosadíme funkci x / 30. Tím získáme funkci h:
Upravíme/zkrátíme:
Nyní jsme složili funkce f a g ve výslednou novou funkci h, která nám počítá, kolik kilometrů ujedeme za benzín v hodnotě x korun. Můžeme si to ověřit, když do funkce vložíme těch starých dobrých 750 korun:
Výsledek souhlasí s naším předchozím výpočtem.
Skládání složitějších funkcí
Mějme funkce f a g definované takto:
Zkusíme nyní funkce složit takto: f(g(x)). Vezmeme tak funkci f a namísto všech výskytů parametru x vložíme, radši v závorkách, funkci g:
Kdybychom funkce složili naopak, získali bychom:
Pro skládání funkcí se používá symbol kolečka: