Matematyka obliczeniowa - laboratorium
Nie warto drukować takiej strony!
Aktualności
Rozpoczynamy zajęcia laboratoryjne z Matematyki Obliczeniowej! Hurrra!
W laboratorium będziemy pracowali w systemie Linux. Programy będziemy pisać w
- systemie obliczeń numerycznych Octave (darmowym klonie MATLABa)
- języku C (jeśli w ogóle).
Ze względu na prawie stuprocentową przenośność kodu w języku C, można będzie testować tworzone w LABie programy w innych środowiskach programistycznych, takich, jak popularne w systemie Windows środowiska Microsoft Visual Studio, czy Borland C++.
MATLAB i Octave
S± to bardzo wygodne w u¿yciu ¶rodowiska obliczeñ numerycznych i wizualizacji. W naszym labie s± dostêpne oba, leczy tylko Octave jest darmowy. Warto zaznaczyæ, ¿e z Octave mo¿na tak¿e korzystaæ wprost przez przegl±darkê internetow±, dziêki narzêdziu opracowanemu jako jeden z projektów Ko³a Naukowego Numeryków przy naszym wydziale.
Matlab w akcji. Zwróæ uwagê na zintegrowane ¶rodowisko u¿ytkownika
Octave w akcji. Zwróæ uwagê na ascetyczny, tekstowy interfejs.
Komendy MATLABa i Octave s± praktycznie identyczne, a ró¿nice dotycz± tylko subtelno¶ci sk³adni (fajniejsza jest w Octave) oraz interfejsu i narzêdzi u¿ytkownika/programisty (tu zdecydowanie wygrywa MATLAB). MATLAB te¿ czêsto dzia³a szybciej, co jednak w naszym przypadku nie bêdzie odgrywa³o ¿adnej roli.
Szybki wstêp do Octave i MATLABa. Wiêcej dowiesz siê o tych systemach, siêgaj±c po dodatkowe materia³y.
Treści omawiane na zajęciach
Możesz także przeglądać wybrane programy wykorzystywane/opracowywane na zajęciach.
- LAB 1
- Wprowadzenie do Octave
- Wprowadzenie do Octave/MATLABa: macierze, działania arytmetyczne i macierzowe.
- Numeryczne wyznaczenie miejsc zerowych wielomianu o zadanych miejscach zerowych
roots( poly(x) )
w MATLABie/Octave:
- x = [1,2,...,n] - bardzo dobrze, nawet dla n = 15.
- x = [1,1,...,1] (n-krotne miejsce zerowe) - już dla n = 3 są kłopoty z dokładnością
- Rysowanie wykresów:
plot(x,y)
- Po drodze uczymy się kilku pożytecznych umiejętności w MATLABie/Octave. W codziennej pracy z Octave może Ci się przydać
Å›ciÄ…gawka do Octave, zawierająca na dwóch kartkach formatu A4 zestawienie najczęściej używanych poleceń. Można ją wydrukować, zgiąć na trzy części i mieć pod ręką poczas pracy. Poniżej przebieg krótkiej sesji w Octave.
- LAB 2
- Eksperymenty z arytmetykÄ… fl.
- Skrypty w Octave.
- Własności arytmetyki fl i metoda wyznaczania precyzji arytmetyki.
- Jak wygląda wykres (x-2)13 w małym otoczeniu 2? (w szczególności, ile ma miejsc zerowych)
- Co to jest epsilon maszynowy
eps
i jak odległe są od siebie kolejne liczby rzeczywiste w komputerze (to zależy od tego, jaka jest ich wartość...).
- Komputerowy "dowód", że pochodne bardzo wielu funkcji są równe zero. Czy potrafisz wskazać funkcję o niezerowej pochodnej, dla której jednak dostaniemy dobre wartości?
- Wyznaczamy exp(x) z szeregu Maclaurina: dlaczego działa niespodziewanie źle dla ujemnych x?
- LAB 3
- Równania nieliniowe
- Funkcje w Octave.
- Implementacja metody Newtona w Octave/MATLAB-ie. Warto porównać z wbudowaną funkcją MATLAB-a
fzero
.
- Testy zbieżności metody Newtona dla
- x2-2, x0 = 2
- bardzo szybka zbieżność (kwadratowa)
- cos(x), x0 = 1.5
- strasznie szybka zbieżność (sześcienna! - dlaczego?)
- sin(x), x0 = 1.5
- odlot w nieznanym kierunku, potem zbieżność j.w.
- (x-1)4, x0 = 2
- dziwnie wolna zbieżność (liniowa zbieżność residuów ze współczynnikiem około 0.3 - dlaczego?)
- x2-2, x0 = 106
- początkowo bardzo wolna, ale potem znów obserwujemy kwadratową zbieżność (dlaczego?)
- Wyznaczamy miejsce zerowe f(x) = (x-2)13 metodą Newtona z x0 = 4 i tolerancją 10-6, czyli efekt złego uwarunkowania. Wyznacznone rozwiązanie spełnia warunek |f(x)| < TOL, ale wciąż jest bardzo daleko od rozwiązania dokładnego!
- LAB 3
- Równania liniowe i nie tylko.
- Rozkłady typu LU w MATLABie i Octave i jak ich używać
- Rozwiązywanie układu równań, także z wieloma prawymi stronami
- Macierz, dla której eliminacja Gaussa z wyborem w kolumnie jest niestabilna.
- Macierz, której uwarunkowanie rośnie wykładniczo z wymiarem
- Macierze losowe sÄ… "Å‚atwe".
- Informacja o bibliotekach BLAS, LAPACK i ogłoszenie konkursu.
Zasady zaliczenia
Na każdym labie (z wyjątkiem pierwszego) będzie 10-minutowa wejściówka z poprzedniego tematu. Za każdą wejściówkę można dostać max. 5 punktów. Na zakończenie suma punktów zostanie przeskalowana do poziomu ustalonego przez Wykładowcę.
Nie ma instytucji poprawiania wejściówki, ale w przypadku usprawiedliwionej nieobecności, można ją napisać (oczywiście z innym zadaniem) w innym terminie.
Punkty uzyskane na labie liczą się do końcowej oceny z przedmiotu.
Ciekawe linki
Wiêcej o Octave i MATLABie
- Podrêcznik do MATLAB-a i Octave, uwzglêdniaj±cy zadania matematyki obliczeniowej:
- Kermit Sigmon, MATLAB Primer, klasyczna ¶ci±gawka do starej wersji MATLABa - wci±¿ aktualna.
- Desmond i Nicholas Higham, MATLAB guide, znakomita ksi±¿ka o MATLABie napisana przez wybitnych numeryków.
- Cleve Moler, Numerical computing with MATLAB, zestaw ciekawych historyjek o intryguj±cych problemach numerycznych, spisanych przez samego Twórcê MATLABa.
Kolekcja instrukcji wideo do MATLABa i Octave
Paul Nissenson z UC Irvine (USA), opracował serię krótkich filmików, jak używać Octave, do obejrzenia na YouTube. Po angielsku, ale warto!
Na stronie producenta MATLAB-a, jest mnóstwo tutoriali wideo, oczywiście nie po polsku. Wiele z filmów można obejrzeć za darmo. Gdyby zapomnieć o graficznym środowisku, większość podanych w nich informacji można zastosować do Octave'a. Na początek proponuję:
MATLAB ma nawet swój kanał na YouTube. Dla koneserów.
Aktualizacja: 18.10.2019, 15:00:24.
© Piotr Krzyżanowski