Programowanie funkcyjne/Procedury wyższych rzędów/Ćwiczenia: Różnice pomiędzy wersjami
Linia 37: | Linia 37: | ||
Uwaga: W jaki sposób wagi zależą od <math>n</math>? | Uwaga: W jaki sposób wagi zależą od <math>n</math>? | ||
}} | }} | ||
<div class="mw-collapsible mw-made=collapsible mw-collapsed"> <div class="mw-collapsible-content" style="display:none"> | <div class="mw-collapsible mw-made=collapsible mw-collapsed"> | ||
<span class="mw-collapsible-toogle mw-collapsible-toogle-default style="font-variant:small-caps">Rozwiązanie</span> | |||
<div class="mw-collapsible-content" style="display:none"> | |||
Uśrednienie funkcji <math>f</math> z wagą <math>a</math> możemy zdefiniować następująco: | Uśrednienie funkcji <math>f</math> z wagą <math>a</math> możemy zdefiniować następująco: | ||
Linia 48: | Linia 50: | ||
'''let''' root n x = | '''let''' root n x = | ||
punkt_staly (usrednij (2. /. float(n+1)) (fun y -> x /. potega y (n-1))) 1.;; | punkt_staly (usrednij (2. /. float(n+1)) (fun y -> x /. potega y (n-1))) 1.;; | ||
</div></div> | </div></div> |
Aktualna wersja na dzień 13:58, 1 cze 2020
Praca domowa
- Wygładzenie funkcji z odstępem polega na uśrednieniu , i . Napisz procedurę wygładzającą daną funkcję z zadanym odstępem.
- Jaki typ ma procedura compose zastosowana w wyrażeniu:
compose twice twice;;
Ćwiczenia
Ćwiczenie [Semantyka wyrażeń]
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ść.
Ćwiczenie [Przybliżanie zer przez bisekcję]
Zaimplementuj przybliżanie zer funkcji przez bisekcję. Parametrami powinny być:
- funkcja , której zer szukamy,
- dwa punkty, w których funkcja przyjmuje wartości przeciwnych znaków,
- precyzja poszukiwać, tzn. taki , że jeżeli wynik spełnia , to jest dobrym przybliżeniem zera.
Laboratorium
Ćwiczenie [Odwrotność funkcji]
Niech będzie funkcją 1-1 i "na" oraz taką, że , jest rosnąca i . Zaimplementuj procedurę odwrotnosc, której wynikiem dla parametru będzie przybliżenie z dokładnością zadaną przez stałą epsilon (czyli jeśli g = odwrotnosc f, to ).
Ćwiczenie [Pierwiastkowanie jako punkt stały [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 jest . Zaimplementuj obliczanie -tego pierwiastka z za pomocą obliczania punktu stałego i tłumienia przez uśrednianie z odpowiednimi wagami. Uwaga: W jaki sposób wagi zależą od ?
Rozwiązanie