Ćwiczenia na procedury wyższych rzędów, ale bez standardowych procedur wyższych rzędów przetwarzających listy:
-
Potęgowanie funkcji.
Zasymuluj działanie na prostych przykładach:
iterate 2 (function x -> x * (x+1)) 2
iterate 3 (function x -> x * (x+1)) 1
rozrysowując ramki.
W przypadku szybszego potęgowania funkcji co tak na prawdę jest obliczane szybciej: funkcja wynikowa, czy jej wartość?
Rozwiązania
-
Wygładzenie funkcji z odstępem dx polega na uśrednieniu f(x−dx), f(x) i f(x+dx).
Napisz procedurę wygładzającą daną funkcję z zadanym odstępem.
Zwróć uwagę na kolejność argumentów.
-
Niech f:R→R będzie funkcją:
- wzajemnie jednoznaczną, czyli 1-1 i ,,na'',
- ciągłą,
- rosnącą i to tak, że ∀d>0f(x+d)−f(x)≥d,
- oraz taką, że f(0)=0.
Zaimplementuj procedurę odwrotnosc
, której wynikiem dla parametru f będzie przybliżenie f−1 z dokładnością
zadaną przez stałą epsilon
(czyli jeśli g=(odwrotnosc f), to ∀x |g(x)−f−1(x)|≤epsilon).
-
Zaimplementuj aproksymację funkcji za pomocą szeregu Taylora.
Twoja procedura powinna mieć następujące parametry: liczbę sumowanych wyrazów szeregu punkt, w którym
badana jest przybliżana funkcja, oraz daną funkcję.
Wynikiem powinno być przybliżenie funkcji.
Zastosuj przybliżenie pochodnej oraz sumy częściowe szeregów, przedstawione na wykładzie.