Studia
O co w tym wszystkim chodziło!!! :-)) Strasznie zakręcone zajęcia. Chociaż czasami je rozumiałem. Fajnie, gdy ktoś miał jakieś pytanie na egzaminie. Wtedy profesor kazał podnosić prawą rękę, a nie lewą (SLD). Ten przedmiot będę długo wspominał. Na początku kompletnie nic nie wiedziałem co się na nim dzieje i po co to wszystko. Ale z czasem zrozumiałem, że jest to bardzo ważne zagadnienie dla informatyka.
Wykład z tego przedmiotu obejmował przede wszystkim: analizę błędów zaokrągleń procesów obliczeniowych, uwarunkowanie zadania, algorytmy numerycznie poprawne i algorytmy numerycznie stabilne, znajdowanie miejsc zerowych równań nieliniowych, m etody Newtona i siecznych, rozwiązywanie układów równań nieliniowych, postacie wielomianu, obliczanie wartości wielomianu, interpolacja wielomianami, ilorazy różnicowe, postać Lagrange'a i Newtona wielomianu interpolacyjnego, reszta wzoru interpolacyjnego, interpolacja Hermite'a, definicja funkcji sklejanej stopnia 3, interpolacja za pomocą funkcji sklejanych, numeryczne rozwiązywanie układów równań linionych, algorytm Gaussa, rozkład macierzy na iloczyn macierzy trójkątnych, przekształcenia Householdera, wielomiany ortogonalne, zależność rekurencyjna łącząca wielomiany ortogonalne, znajdowanie wielomianu optymalnego w sensie aproksymacji średniokwadratowej, twierdzenie o alternansie, znajdowanie wielomianu optymalnego w sensie aproksymacji jednostajnej, całkowanie numeryczne. kwadratury interpolacyjne, kwadratury Newtona-Cotesa i kwadratury Gaussa.
Na laboratorium z tego przedmiotu miałem do napisania kilka fajnych programów, które poniżej udostępniłem (zip). Polecenia (treści zadań) zapisane są w formacie pdf.
-
Nad tym zadaniem spędziłem najwięcej czasu. Program sprawdza na przykładach procedury funkcyjne, obliczające z dokładnością bliską dokładności maszynowej wartości następujących funkcji matematycznych:
g1(x) := x + e^x - e^3x; g2(x) := log x - 1; g3(x) := sqrt(x^2 + 1) - 1. W każdym wypadku należało zbadać, czy istnieje
groźba utraty miejsc znaczących wyniku i (w razie potrzeby) zaproponować sposób uniknięcia groźby. Rozwiązanie
zadania bardzo szczegółowo opisałem we wnioskach (pdf)
pobierz (zip 142 KB)
-
Zadanie polega na tym, aby program zawierał trzy funkcje. Pierwsza z nich funkcja bisekcja oblicza metodą
bisekcji przybliżoną wartość (alfa') miejsca zerowego funkcji f. Wartość tę zwraca jako wynik. Parametr
epsilon jest wartownikiem jakości wartości przybliżonego pierwiastka funkcji f. Funkcja bisekcja zwraca taką
wartość (alfa'), dla której abs(alfa' - alfa) < e; gdzie alfa jest pierwiastkiem funkcji f. Druga funkcja ma dodatkowy parametr n, który decyduje o przerwaniu n-tej iteracji metody bisekcji. To znaczy, że jeśli po n iteracjach połowienia przedziału (a; b) przybliżenie alfa' nie spełnia abs(alfa' - alfa) < epsilon, to przerywa obliczenia i zwraca alfa' jako
wynik. Ostatnia funkcja newton oblicza metodą newtona przybliżoną wartość alfa' miejsca zerowego funkcji f. Parametr x0, mówi jakie obrać początkowe przybliżenie x0 w metodzie newtona. Rozwiązanie również zawiera wnioski (pdf)
pobierz (zip 55 KB)
-
Trzeci program wyznacza współczynniki wielomianu w postaci Newtona, dla którego w (tabx[k]) = taby[k];
k = 0,1,....,n. Procedura oblicza współczynniki wielomianu w postaci Newtona poprzez wyznaczenie wielkosci
newb[0], newb[1],..., newb[n]. Funkcja natomiast oblicza wartość w(x) dla argumentu rzeczywistego x wykorzystując
uogólniony algorytm Hornera
pobierz (zip 7 KB)