Processing math: 100%

Ćwiczenia 8: Procedury wyższych rzędów

Ćwiczenia na procedury wyższych rzędów, ale bez standardowych procedur wyższych rzędów przetwarzających listy:

  1. 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

  2. Wygładzenie funkcji z odstępem dx polega na uśrednieniu f(xdx), f(x) i f(x+dx).
    Napisz procedurę wygładzającą daną funkcję z zadanym odstępem.
    Zwróć uwagę na kolejność argumentów.
  3. Niech f:RR 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 f1 z dokładnością
    zadaną przez stałą epsilon (czyli jeśli g=(odwrotnosc f), to x |g(x)f1(x)|epsilon).

  4. 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.