[mes] lab1
Transkrypt
[mes] lab1
LABORATORIUM 1 Metoda elementów skończonych Część I MATLAB MATLAB - wektory i macierze I Wyświetl dowolną macierz wymiaru 4 na 4 i nazwij ją A I Transponuj macierz A I Wyświetl 4 kolumnę macierzy A I Stwórz macierz B, której poszczególne elementy są kwadratami elementów macierzy A I Wykonaj operacje A + B, A − B, A ∗ B I Oblicz wyznacznik macierzy A I Wyświetl macierz jednostkową 4 na 4 I Wyświetl macierz jedynkową 3 na 2 I Stwórz wektor [1 1/2 1/3 1/4 1/5] (korzystając z polecenia typu start:krok:koniec) MATLAB - wielomiany, funkcje i wykresy I Napisz funkcję pierwiastki.m, która oblicz pierwiastki wielomianu ax 2 + bx + c w zależności od parametrów a, b, c I Narysuj wykres funkcji ln x i e x na jednym wykresie. Zmień wygląd wykresów i dodaj legendę Część II Metoda Eulera Zagadnienie początkowe (Cauchy’ego) dx dt = f (t, x) x(t ) = x 0 0 Przykłady: dx dt = x dx dt = xtg (t + 3) x(0) = 1 x(−3) = 1 Istnienie rozwiązania dx dt = f (t, x) x(t ) = x 0 0 Twierdzenie1 Jeśli dla pewnych α, β > 0 funkcja f jest ciągła w prostokącie R = {(t, x) : |t − t0 | 6 α, |x − x0 | 6 β}, to zagadnienie początkowe ma rozwiązanie x(t) dla |t − t0 | 6 min{α, β/M}, gdzie M = maxR |f (t, x)| 1 D.Kincaid,W.Cheney, Analiza numeryczna, Warszawa, 2006 Jednoznaczność rozwiązania Twierdzenie2 Jeśli funkcja f jest ciągła dla a 6 t 6 b, −∞ < x < ∞ i jeśli istnieje stała L taka, że jest tam |f (t, x1 ) − f (t, x2 )| 6 L|x1 − x2 |, to zagadnienie początkowe 0 x = f (t, x) x(a) = α ma w przedziale [a, b] jednoznaczne rozwiązanie. 2 D.Kincaid,W.Cheney, Analiza numeryczna, Warszawa, 2006 Podstawowe metody numeryczne Jednokrokowe: I metody Eulera I metody Runge-Kutty Wielokrokowe: I metody Adamsa I metody typu Predictor-Corrector I metody BDF (metody różnic wstecznych) Metoda Eulera Zagadnienie początkowe: dx dt = f (t, x) x(t ) = x 0 0 Metoda Eulera: xn+1 = xn + hf (tn , xn ) tn = t0 + nh, n = 0, 1, . . . h - krok całkowania Metoda Eulera - z definicji pochodnej x 0 (t) ≈ x(t + h) − x(t) h Otrzymujemy: x(t + h) ≈ x(t) + hf (t, x(t)) Metoda Eulera: xn+1 = xn + hf (tn , xn ) x0 = x(t0 ) x1 = x0 + hf (t0 , x0 ) x2 = x1 + hf (t1 , x1 ) .. . Metoda Eulera - ze wzoru Taylora 1 x(t + h) = x(t) + x 0 (t)h + x 00 (t)h2 + . . . 2 Biorąc x(t + h) = x(t) + x 0 (t)h + O(h2 ) Mamy x(t + h) = x(t) + hf (t, x(t)) + O(h2 ) x(t + h) ≈ x(t) + hf (t, x(t)) Metoda Eulera: xn+1 = xn + hf (tn , xn ) Modyfikacje metody Eulera I Zmodyfikowana metoda Eulera xn+1 = xn + h · f I 1 1 tn + h, xn + h · f (tn , xn ) 2 2 Udoskonalona metoda Eulera i 1 h xn+1 = xn + h · f (tn , xn ) + f (tn+1 , xn + h · f (tn , xn )) 2 Zadanie 1 Rozwiąż podane zagadnienia początkowe: I dx t2 dt = x x(0) = 1 analitycznie i przy pomocy metody Eulera (cztery kroki dla h = 0.1). Zadanie 2 Napisz funkcję w Matlabie, która będzie rozwiązywała podane zagadnienie początkowe postaci dx dt = f (t, x) x(t ) = x 0 0 metodą Eulera. Dane wejściowe: funkcja f , warunek początkowy t0 , x0 , I I I krok całkowania h i ilość kroków k lub przedział [t0 , b], ilość podziałów N lub przedział [t0 , b], krok całkowania h. Porównaj wynik z zadaniem 1. Zadanie 3 Napisz funkcję w Matlabie, która będzie rozwiązywała podane zagadnienie początkowe postaci dx dt = f (t, x) x(t ) = x 0 0 zmodyfikowaną metodą Eulera oraz rysowała na jednym wykresie rozwiązanie analityczne i numeryczne. Porównaj rozwiązanie z zadaniem 2.