Taylor E 3011 Jan Böhm RECETOX March 14, 2023 Jan Böhm (RECETOX) Cvičení V March 14, 2023 1 / 11 Co nás dnes čeká 1 e 2 π 3 Goniometrické funkce 4 Logaritmus funkce 5 Jan Böhm (RECETOX) Cvičení V March 14, 2023 2 / 11 Přibližně e e Vytvořte funkci e(tol = 0.001), která vrací hodnotu e s přesností danou parametrem tol. Pro výpočet přibližné hodnoty e využijte formuli e = ∞ k=0 1 k! , která je odvozena z Taylorova rozvoje funkce ex . Sumu nepočítejte do nekonečna ale jen do té doby, kdy je přírůstek nového člene větší, než tol, symbolicky etol = k∈K 1 k! K = {κ ∈ N0 takových, že 1 κ! ≥ tol} Jan Böhm (RECETOX) Cvičení V March 14, 2023 3 / 11 Co nás dnes čeká 1 e 2 π 3 Goniometrické funkce 4 Logaritmus funkce 5 🍕 Jan Böhm (RECETOX) Cvičení V March 14, 2023 4 / 11 Přibližně π π Vytvořte funkci pi(tol = 0.001), která vrací hodnotu π s přesností danou parametrem tol. Pro výpočet přibližné hodnoty e využijte Leibnizovu formuli π = 4 ∞ k=0 (−1)k 2k + 1 , která je odvozena z Taylorova rozvoje funkce arctan. Sumu nepočítejte do nekonečna ale jen do té doby, kdy je přírůstek nového člene větší, než tol. Jan Böhm (RECETOX) Cvičení V March 14, 2023 5 / 11 Co nás dnes čeká 1 e 2 π 3 Goniometrické funkce 4 Logaritmus funkce 5 🍕 Jan Böhm (RECETOX) Cvičení V March 14, 2023 6 / 11 Přibližně sin sin(x) Vytvořte funkci sin(x, tol = 0.001), která vrací hodnotu sin(x) s přesností danou parametrem tol. Pro výpočet přibližné hodnoty sin(x) využijte Taylorův rozvoj této funkce v okolí nuly: sin(x) = ∞ k=0 (−1)k (2k + 1)! x(2k+1) . Tato aproximace je vhodná pro x ∈ −π; π . Pro hodnoty mimo tento interval využijte identity sin(x) = sin(x mod 2π). Sumu nepočítejte do nekonečna ale jen do té doby, kdy je přírůstek nového člene větší, než tol. Jan Böhm (RECETOX) Cvičení V March 14, 2023 7 / 11 Co nás dnes čeká 1 e 2 π 3 Goniometrické funkce 4 Logaritmus funkce 5 🍕 Jan Böhm (RECETOX) Cvičení V March 14, 2023 8 / 11 Přibližně ln ln(x) Vytvořte funkci ln(x, tol = 0.001), která vrací hodnotu ln(x) s přesností danou parametrem tol. Pro výpočet přibližné hodnoty ln(x) využijte Taylorův rozvoj této funkce v okolí 1: ln(x) = ∞ k=1 (−1)k+1 k (x − 1)k . Pozor, tato aproximace konverguje jen pro x ∈ (0, 2 . Proto budete pro x > 2 potřebovat identitu ln(x) = − ln(1 x ). Sumu nepočítejte do nekonečna ale jen do té doby, kdy je přírůstek nového člene větší, než tol. Nakonec vytvořte funkci log(x, base = 2, tol = 10**-6), která počítá logaritmus čísla x ve zvolené bázi base. Stačí využít identity logb(x) = loga(x) loga(b) . Jan Böhm (RECETOX) Cvičení V March 14, 2023 9 / 11 Co nás dnes čeká 1 e 2 π 3 Goniometrické funkce 4 Logaritmus funkce 5 🍕 Jan Böhm (RECETOX) Cvičení V March 14, 2023 10 / 11 Takeaways Po tomto cvičení byste měli mít připravené funkce e(tol = 0.001) a pi(tol = 0.001), které vrací uvedené konstanty sin(x, tol = 0.001), ln(x, tol = 0.001 a log(x, base = 2, tol = 0.001, které počítají funkční hodnoty sinu, přirozeného logaritmu resp. logaritmu se zvolenou bází Tyto funkce si přidejte do své ”knihovny” functions.py. Po tomto cvičení byste měli umět: Vyrobit další funkce postavené na (Taylorovu) polynomu, např. zbytek goniometrických funkcí, exponenciální funkci nebo např. hyperbolické funkce. Zjistit, kolik iterací uvnitř funkce proběhlo, než došlo k požadovanému výsledku (např. porovnejte počet iterací e(tol = 10**-6) a pi(tol = 10**-6). Rozumět limitům a problémům funkcí, které jste nachystali. Jak jsou přesné, rychlé, kdy selžou? Jan Böhm (RECETOX) Cvičení V March 14, 2023 11 / 11