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: \(f \circ g\). Potíž je v tom, že někdy tento zápis značí složení ve směru f(g(x)) a někdy jindy zase g(f(x)). Symbolika je v tomto případě trochu nejednoznačná, takže se radši vždy podívejte, jak je to zrovna myšleno.
