Programowanie funkcyjne/Procedury wyższych rzędów/Ćwiczenia: Różnice pomiędzy wersjami

Z Studia Informatyczne
Przejdź do nawigacjiPrzejdź do wyszukiwania
Kubica (dyskusja | edycje)
Kubica (dyskusja | edycje)
Nie podano opisu zmian
Linia 1: Linia 1:
==Praca domowa==
==Praca domowa==
* Wygładzenie funkcji z odstępem <math>dx</math> polega na uśrednieniu <math>f(x - dx)</math>, <math>f(x)</math> i <math>f(x + dx)</math>. Napisz procedurę wygładzającą daną funkcję z zadanym odstępem.   
* Wygładzenie funkcji z odstępem <math>dx</math> polega na uśrednieniu <math>f(x - dx)</math>, <math>f(x)</math> i <math>f(x + dx)</math>. Napisz procedurę wygładzającą daną funkcję z zadanym odstępem.   
* Jaki typ ma procedura <tt>compose</tt> zastosowana w wyrażeniu:
* Jaki typ ma procedura <tt>compose</tt> zastosowana w wyrażeniu:
  compose twice twice;;
  compose twice twice;;
==Ćwiczenia==
* Zaimplementuj przybliżanie zer funkcji przez bisekcję. Parametrami powinny być:
** funkcja <math>f</math>, której zer szukamy,
** dwa punkty, w których funkcja przyjmuje wartości przeciwnych znaków,
** precyzja poszukiwać, tzn. taki <math>\varepsilon</math>, że jeżeli wynik <math>x</math> spełnia <math>|f\ x| \le \varepsilon</math>, to jest dobrym przybliżeniem zera.
* 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. Wynikiem powinno być przybliżenie funkcji. Zastosuj przybliżenie pochodnej przedstawione na wykładzie.
* 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. Wynikiem powinno być przybliżenie funkcji. Zastosuj przybliżenie pochodnej przedstawione na wykładzie.


==Ćwiczenia==


== Laboratorium ==


* Niech <math>f : \mathcal{R} \to \mathcal{R}</math> będzie funkcją 1-1 i "na" oraz taką, że <math>f(0) = 0</math>, <math>f</math> jest rosnąca i <math>|f(x)| \ge |x|</math>. Zaimplementuj procedurę <tt>odwrotnosc</tt>, której wynikiem dla parametru <math>f</math> będzie przybliżenie <math>f^{-1}</math> z dokładnością zadaną przez stałą <tt>epsilon</tt> (czyli jeśli <tt>g = odwrotnosc f</tt>, to <math>\forall x\ |g(x) - f^{-1}(x)| \le epsilon</math>).
* Niech <math>f : \mathcal{R} \to \mathcal{R}</math> będzie funkcją 1-1 i "na" oraz taką, że <math>f(0) = 0</math>, <math>f</math> jest rosnąca i <math>|f(x)| \ge |x|</math>. Zaimplementuj procedurę <tt>odwrotnosc</tt>, której wynikiem dla parametru <math>f</math> będzie przybliżenie <math>f^{-1}</math> z dokładnością zadaną przez stałą <tt>epsilon</tt> (czyli jeśli <tt>g = odwrotnosc f</tt>, to <math>\forall x\ |g(x) - f^{-1}(x)| \le epsilon</math>).

Wersja z 11:04, 5 paź 2006

Praca domowa

  • 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.
  • Jaki typ ma procedura compose zastosowana w wyrażeniu:
compose twice twice;;

Ćwiczenia

  • Zaimplementuj przybliżanie zer funkcji przez bisekcję. Parametrami powinny być:
    • funkcja f, której zer szukamy,
    • dwa punkty, w których funkcja przyjmuje wartości przeciwnych znaków,
    • precyzja poszukiwać, tzn. taki ε, że jeżeli wynik x spełnia |f x|ε, to jest dobrym przybliżeniem zera.
  • 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. Wynikiem powinno być przybliżenie funkcji. Zastosuj przybliżenie pochodnej przedstawione na wykładzie.


Laboratorium

  • Niech f: będzie funkcją 1-1 i "na" oraz taką, że f(0)=0, f jest rosnąca i |f(x)||x|. 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).
  • Przypomnij sobie zadanie dotyczące wyliczania wartości wyrażeń. Rozszerz składnię wyrażeń o zmienne. Procedura obliczająca wartość wyrażenia będzie wymagać dodatkowego parametru -- wartościowania zmiennych, czyli procedury, która nazwie zmiennej przyporządkowuje jej wartość.
  • [AS] Przedstawione w wykładzie tłumienie przez uśrednianie opiera się na średniej arytmetycznej. Czasami zamiast średniej arytmetycznej należy użyć średniej ważonej, z odpowiednio dobraną wagą. Punktem stałym funkcji yxyn1 jest xn. Zaimplementuj obliczanie n-tego pierwiastka z x za pomocą obliczania punktu stałego i tłumienia przez uśrednianie z odpowiednimi wagami. Uwaga: W jaki sposób wagi zależą od n?