Laboratorium z Równań Różniczkowych zwyczajnych
wiosna 2000, czwartki godz. 8:30, Lab 4 (co drugi
tydzień, pierwsze zajęcia: 24/02/2000).
- Lab 1 - wstępne zapoznanie sie z systemem
maple'a. Zmiana haseł
na kontach. 24/02/2000
- Lab 2 - wprowadzanie równań różniczkowych w
maple'u. Funkcja desolve, wprowadzanie warunków
początkowych. 9/03/2000
- Lab 3 - pakiet DEsolve w maple'u. Rysowanie
portretów fazowych, pól wektorowych przy pomocy funkcji
DEplot . 23/03/2000
- Lab 4 -
schematy roznicowe , badanie rzędu, funkcja DEplot z
różnymi parametrami. 6/04/2000
- Lab 5 - układy równań liniowych przy pomocy
maple'a, pakietu DEplot i linalg. Wartości i
wektory własne. Pole wektorowe wokól 0 w zależności od typu wartości
własnych.
Przykładowa sesja maple'a. 13/04/2000
- Lab 6 - Kontynuacja poprzednich zajęć, tj. układy
równań liniowych przy pomocy maple'a. 27/04/2000
- Lab 7 - zaliczanie projektów. Badanie stabilności
położeń równowagi
przy pomocy narzędzi maple'a. Znajdowanie punktów krytycznych,
linearyzacja
wokól tych punktów. Badanie zlinearyzowanych układów.
Przykład.
11/05/2000
- Lab 8 - Kontynuacja poprzednich zajęć.
28/05/2000
Za pokazanie projektów w terminie 10pktów, później 5pktów. Oddanie
projektów nie jest obowiązkowe choć oczywiście nieoddanie zmniejszy
ilość pktów z
ćwiczeń potrzebnych do zaliczenia.
Projekt zaliczeniowy 1 (10 pkt)
Zaprogramować schematy Eulera otwarty, midpoint i Rungego otwarty rzędu
4 dla równania skalarnego. Nie ma znaczenia w jakim języku czy
programie projekt
jest napisany np. C, Pascal lub Maple. Umożliwić wyświetlanie
obliczonych rozwiązań i rozwiązań dokładnych (jesli są znane). Testować
na przykładach z ćwiczeń.
Można zbadać rząd schematu np. na równaniu y'=-y
z rozw. y(x)=exp(-x) stosując
połowiony krok h.
Termin: Temin minął. Teraz można uzyskać
maksymalnie 5pkt.
Projekt zaliczeniowy 2 (10 pkt)
Są dwie możliwości do wyboru:
- Zaprogramować schemat o zmiennym kroku całkowania opisany w
ksiazce A. Palczewskiego Równania Różniczkowe zwyczajne,
WNT ,Warszawa 1999
rozdzial 5.2, str. 151-155. W bibliotece jest
też skrypt na którym oparta jest książka. Testować dla różnych równań
porównując wyniki ze schematem Rungego 4 rzędu (tzn. przy takiej samej
dokładności badać ilość obliczeń pola wektorowego-prawej strony
równania).
- Zaprogramować metodę strzałów korzystająca z
metody Rungego z poprzedniego projektu, dla zagadnienia brzegowego: -y''=f, y(a)=c i y(b)=d, gdzie f dowolna
ciągła funkcja, a<b. Testować dla różnych funkcji f i a,b,c,d.
Termin: Temin minął. Teraz można uzyskać
maksymalnie 5pkt!
Opis
prostej metody strzalów
Metoda strzalów polega na znalezieniu takiego parametru
s aby równanie
-y''+g(x)y=f, z
warunkami początkowymi y(a)=c
i y'(a)=s było
rozwiązaniem wyjściowego zagadnienia brzegowego
-y''+g(x)y=f,
y(a)=c i y(b)=d dla g(x)>=0.
Ponieważ równanie jest
bardzo proste więc i metoda też. Wiemy, że rozwiązanie ogólne
równania ma postać
y(x)= ys
(x) +c*y1(x)+s*y2(x)
gdzie ys(x)
jest rozwiązaniem szczególnym równania, a
y1
(x) jest rozwiązaniem równania jednorodnego
tj. - y1''+g(x)y=0,
z warunkami początkowymi :
y1(a)=1 i y1'(a)=0
z kolei
y2(x) jest rozwiązaniem równania jednorodnego
z warunkami początkowymi:
y2(a)=0 i y2'(a)=1.
Stąd jeśli znajdziemy dwa rozwiązania y(b,s1)
i y(b,s 2) to możemy wyliczyć
y2(b) = y(b,s1
) -y(b,s2) /(s 1 - s2 )
i
ys(b) +c*y1 (b)=y(b,s1)-s1*y
2(b)
a stąd i
s= (d - ys(b)
- c*y1(b) )/y2(b)
dla którego rozwiązanie problemu z warunkami początkowymi y(a)=c, y'(a)=s spełnia y(1)=d.
Oczywiście my znajdziemy te rozwiązania
w sposób przybliżony.
(Zauważmy, że np dla g(x)=0 mamy yi(x) =(x-a)
i-1 , i=1,2 !)
Analogicznie można zastosować tę metode dla dowolnego
liniowego równania drugiego stopnia postaci y''+p(x)*y'+q(x)*y=f,
y(a)=c
i y(b)=d z warunkami brzegowymi y(a)=c i y(b)=d. gdzie
p,q,f
dowolne funkcje ciagle a a<b i c,d dowolne liczby, (dla
chętnych,
jakkolwiek niczego to specjalnie nie utrudni w implementacji metody, z
pktu
widzenia teorii nalezałoby uzasadnić jeszcze, że y2(b)
(dla dowolnych funkcji p,q) różne od zera, tak jednak nie musi
być
w ogólności, i zagadnienie brzegowe może nie mieć rozwiązania.
Np.
dla y''+y=0 mamy dwa rozwiązania niezależne lin. y1
(x)=cos(x) i y2(x)=sin(x) i stąd np. zagadnienie
brzegowe y''+y=0,y(0)=0, y(2*Pi)=1 nie ma rozwiązania!)
Proszę zauważć, że cały projekt w istocie
sprowadza się do zaimplementowania schematu otwartego Rungego rzędu 4
dla ukladu dwóch
równań (x1'=x2, x2'=-f z war. pocz. x
1 (a)=c i x2(a)=s) i później powyższych
wzorów.
Zalecałbym przemyślenie metody i sprawdzenia wzorów,
przed zaimplementowaniem!