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

  1. systemie obliczeń numerycznych Octave (darmowym klonie MATLABa)
  2. 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.

Sesja MATLABa
Matlab w akcji. Zwróæ uwagê na zintegrowane ¶rodowisko u¿ytkownika
Sesja Octave
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
  1. Wprowadzenie do Octave/MATLABa: macierze, działania arytmetyczne i macierzowe.
  2. Numeryczne wyznaczenie miejsc zerowych wielomianu o zadanych miejscach zerowych roots( poly(x) ) w MATLABie/Octave:
    1. x = [1,2,...,n] - bardzo dobrze, nawet dla n = 15.
    2. x = [1,1,...,1] (n-krotne miejsce zerowe) - już dla n = 3 są kłopoty z dokładnością
  3. Rysowanie wykresów: plot(x,y)
  4. 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.
Pokazano m.in., jak uruchamiać Octave, wykonywać proste obliczenia, interpretować wyniki i kończyć pracę. [Wymaga wtyczki obsługującej pliki Flash.]
LAB 2
Eksperymenty z arytmetykÄ… fl.
  1. Skrypty w Octave.
  2. Własności arytmetyki fl i metoda wyznaczania precyzji arytmetyki.
  3. Jak wygląda wykres (x-2)13 w małym otoczeniu 2? (w szczególności, ile ma miejsc zerowych)
  4. 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ść...).
  5. 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?
  6. Wyznaczamy exp(x) z szeregu Maclaurina: dlaczego działa niespodziewanie źle dla ujemnych x?
LAB 3
Równania nieliniowe
  1. Funkcje w Octave.
  2. Implementacja metody Newtona w Octave/MATLAB-ie. Warto porównać z wbudowaną funkcją MATLAB-a fzero.
  3. 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?)
  4. 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.
  1. Rozkłady typu LU w MATLABie i Octave i jak ich używać
  2. Rozwiązywanie układu równań, także z wieloma prawymi stronami
  3. Macierz, dla której eliminacja Gaussa z wyborem w kolumnie jest niestabilna.
  4. Macierz, której uwarunkowanie rośnie wykładniczo z wymiarem
  5. Macierze losowe sÄ… "Å‚atwe".
  6. Informacja o bibliotekach BLAS, LAPACK i ogłoszenie konkursu.

Zasady zaliczenia

Punkty uzyskane na labie liczą się do końcowej oceny z przedmiotu.

Ciekawe linki

Wiêcej o Octave i MATLABie

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