- Napisac i uruchomic program rozwiazujacy rownanie postaci
x'(t) = f( t, x(t) ), dla t nalezacych do przedzialu (0,
tmax)
x(0) = a
Funkcje definiujemy w kodzie zrodlowym. Parametry dla programu (liczba
krokow czasowych i outputowych, warunek poczatkowy) najlepiej wczytywac
z pliku tekstowego stworzonego w jakimkowiek edytorze; rozwiazaniem
satysfakcjonujacym
moze byc takze umieszczenie tych parametrow jako stalych globalnych w programie.
Wynikiem programu ma byc tablica wartosci outputowych funkcji xh
i czasow th, w ktorych faktycznie probkowano funkcje
xh.
Jako procedure calkujaca nalezy zaimplementowac
- metode otwarta Eulera (dla rozgrzewki)
- klasyczna metode otwarta Rungego-Kutty
- metode midpoint
- metode zamknieta Eulera - schemat PC (dla chetnych,
nieobowiazkowo)
- Napisac i dolaczyc procedury testujace napisany program: czy w ogole
dziala (metoda funkcji testowych) i czy ma dobry rzad (metoda zmiany kroku
na szczegolnych funkcjach testowych).
- Napisac i uruchomic procedure wyswietlajaca wykres funkcji o wartosciach
w tablicy TablicaX wymiaru M+1. Przyjmujemy,
ze TablicaX[0] to wartosc funkcji dla t = 0, natomiast
TablicaX[M]
to wartosc funkcji dla t = tmax. Wartosci posrednie interpolujemy
lamana. Zastosowac te procedure do wyswietlenia wynikow w Zadaniu 1.