Praca domowa 3

  1. Napisac i dolaczyc do kodu z pracy domowej 2 procedure testujaca rzad zastosowanej metody calkowania. Procedura powinna badac zaleznosc bledu rozwiazania od dlugosci kroku h. Heurystyka jest tu nastepujaca: jesli metoda jest rzedu p, to blad rozwiazania spelnia

    || yh - y || = O(hp)

    gdzie || u || oznacza dyskretna norme maximum, || u || := max { | ui | : i = 1..M }. Oczywiscie, yh oznacza rozwiazanie przyblizone, a y - rozwiazanie dokladne brane w wezlach siatki. Gdyby wiec zamiast O(hp) bylo po prostu C hp, to po dwukrotnym zmniejszeniu dlugosci kroku calkowania h, blad zmniejszylby sie dokladnie 2-p razy. Okazuje sie, ze dla gladkich funkcji testowych (o znanym rozwiazaniu), ta regula sprawdza sie z calkiem dobra dokladnoscia. A zatem potwierdzimy sobie, ze (na przyklad) nasza metoda jest rzedu p=2, jesli dwukrotne zmniejszenie dlugosci kroku spowoduje (z grubsza) czterokrotne zmniejszenie bledu.
  2. Zmodyfikowac procedury calkujace i program z pracy domowej 2 tak, aby mozna bylo ich uzywac do rozwiazywania ukladow rownan postaci

    x'(t) = F(t,x(t))
    x(0) = x0

    gdzie x(t) = (x1, x2, ..., xn) jest wektorem w Rn, natomiast F = (f1,f2,..., fn) gdzie fi jest rzeczywista funkcja od t, x. Mozna przyjac na uzytek naszej implementacji, ze n <= 4. Prosze rowniez odpowiednio zmodyfikowac procedure wizualizujaca!


Wykaz zajec laboratoryjnych