W tym rozdziale przedstawimy teorię zbieżności schematów jednokrokowych i wielokrokowych.
Rozpatrzymy tylko przypadek skalarny, ale teoria dla układów równań jest analogiczna. Wystarczy tylko moduł zastąpić przez jakąś normę w
Teoria zbieżności schematów jednokrokowych jest teorią odrębną od teorii dla schematów wielokrokowych liniowych.
Okaże się, że kluczowym pojęciem jest tu zgodność schematu jednokrokowego - inaczej konsystentność, którą definiujemy następująco:
Schemat jednokrokowy (4.10) jest zgodny (konsystentny), (ang. consistent) jeśli:
Jeśli rozwiązanie zagadnienia początkowego (3.1)
Dowód zostanie tutaj przedstawiony
dla prostoty tylko dla schematów otwartych z rzędem
Oznaczmy przez
a stąd, korzystając ze zgodności schematu, a dokładniej lipschitzowskości funkcji
Dalej, poprzez indukcję matematyczną otrzymujemy:
Korzystając z tego, że (
dla
Zauważmy, że
Ponieważ schemat ma rząd
W szczególności zbieżność z rzędem
Zgodność otwartego schematu Eulera.
W zasadzie sprawdzenie konsystentności (zgodności) schematu jest w tym przypadku oczywiste,
ponieważ funkcja
Teoria zbieżności dla schematów wielokrokowych liniowych różni się od teorii zbieżności dla schematów jednokrokowych. Precyzyjniej pisząc - używamy tak samo jak w przypadku schematów jednokrokowych pojęcie rzędu schematu, ale równie ważne jest pojęcie stabilności schematu. Używając nieformalnego języka - stabilność schematu oznacza to, że błędy z poprzednich kroków się nie kumulują, a wręcz zanikają.
Na początku rozważmy dowolny schemat liniowy wielokrokowy (4.8) zastosowany do równania z polem wektorowym równym zero tzn. do zagadnienia początkowego:
którego jedynym rozwiązaniem jest rozwiązania stałe
(5.1) |
Wprowadzając wielomian
(5.2) |
otrzymujemy, że jeśli
jest rozwiązaniem równania różnicowego. Jeśli zero jest dwukrotne , to otrzymujemy nowe rozwiązanie związane z tym pierwiastkiem tzn.:
i tak dalej - jeśli zero jest trzykrotne, to kolejne rozwiązanie:
W każdym razie - co ważne - jeśli jakiś pierwiastek
Jeśli pierwiastek
Podsumowując: jeśli jakiś pierwiastek ma moduł mniejszy od jeden, albo ma moduł jeden i krotność jeden, to rozwiązania z nim związane są ograniczone. Wydaje się, że wymaganie żeby wszystkie rozwiązania schematu zastosowanego do równania z prawą stroną równą zero były ograniczone jest jak najbardziej uzasadnione.
Dlatego w ten sposób definiujemy stabilność (ang. stability) schematu liniowego wielokrokowego (4.8):
Schemat (4.8) jest stabilny, jeśli każdy pierwiastek
a w przypadku jeśli
Dodatkowo wprowadzamy pojęcie silnej stabilności schematu (ang. strong stability):
Schemat (4.8) jest silnie stabilny, jeśli spełnia Definicję 5.2 stabilności, i
jeśli
Pojęcie silnej stabilności nie wpływa na samą teorię zbieżności schematów, ale można się spodziewać, że schematy silnie stabilne zachowują się lepiej, por. rozdział 5.2.2.
W praktycznych obliczeniach wszystkie używane schematy liniowe wielokrokowe są silnie stabilne.
Możemy oczekiwać, że jednym z rozwiązań naszego równania różnicowego (5.1) będzie rozwiązanie stałe:
Dodatkowo rozpatrzmy drugie proste równanie z warunkiem początkowym:
którego rozwiązaniem jest
Dodatkowo wprowadzimy wielomian:
Zakładając, że schemat jest dokładny w
Jeśli założymy, że schemat jest prezgodny, to powyższe równanie daje nam:
(5.3) |
Wprowadzamy pojęcie zgodności (konsystentności) schematu liniowego wielokrokowego:
Schemat liniowy wielokrokowy (4.8) jest zgodny (konsystentny), (ang.consistent) jeśli zachodzi (5.3).
Nie jest trudno pokazać, że ten warunek jest równoważny temu, że rząd schematu jest co najmniej jeden, tzn. prawdziwe jest następujące stwierdzenie:
Schemat liniowy wielokrokowy (4.8) jest zgodny wtedy i tylko wtedy, gdy rząd schematu wynosi co najmniej jeden.
Dowód pozostawiamy jako zadanie, por. ćwiczenie 5.14.
Jeśli rozwiązanie zagadnienia początkowego
dla pewnej stałej nieujemnej
Zbieżność otwartego schematu Eulera jako schematu liniowego wielokrokowego.
Wiemy już, że rząd otwartego schematu Eulera wynosi jeden. Wystarczy więc zbadać stabilność schematu.
Wielomian
Rozpatrzmy schemat kroku środkowego (4.3), który jest dwukrokowym schematem liniowym rzędu dwa (zadanie). Nietrudno sprawdzić, że jest to schemat stabilny, ale nie silnie stabilny.
Rozpatrzmy nasze modelowe równanie liniowe:
którego rozwiązanie
Weźmy mniejsze
Numeryczne zaburzenie wynika właśnie z tego, że schemat nie jest silnie stabilny. Można wypisać wzór na rozwiązania równania różnicowego zadanego przez schemat midpoint dla tego równania i wykazać, że po jakimś czasie zawsze pojawią się oscylacje.
Wyniki tu otrzymane nie stoją w jakiekolwiek sprzeczności z teorią zbieżności schematów liniowych wielokrokowych.
Można sprawdzić, że schemat midpoint spełnia założenia tej teorii dla tego równania, i że
na ustalonym odcinku
W tym miejscu warto zwrócić uwagę, jak w praktycznych obliczeniach implementować schematy liniowe wielokrokowe.
Aby przy pomocy danego schematu
Dla schematu Adamsa-Bashfortha dwukrokowego rzędu dwa za
Rząd zbieżności schematu dla czasu
Jeśli błąd dla ustalonego
dla dostatecznie małych
W tabeli 5.1 widzimy wyniki eksperymentu dla
W tabeli 5.2 przedstawiliśmy wyniki tego samego eksperymentu, ale dla schematu Rungego-Kutty rzędu cztery dla zadania początkowego
Wyniki uzyskane w tabeli 5.2 potwierdzają nasze przypuszczenie.
Dla kroku o połowę mniejszego błąd maleje około
Błędem bezwzględnym nazywamy
Zbadaj rząd zbieżności zamkniętego schematu Eulera korzystając z teorii zbieżności dla schematów jednokrokowych.
Zbadaj rząd zbieżności zamkniętego schematu Eulera korzystając z teorii zbieżności dla schematów wielokrokowych liniowych. Czy schemat jest silnie stabilny?
Zbadaj rząd zbieżności schematu trapezów dany wzorem (4.7).
korzystając z teorii zbieżności dla schematów jednokrokowych,
korzystając z teorii zbieżności dla schematów wielokrokowych liniowych.
Czy schemat jest silnie stabilny?
Zbadaj rząd zbieżności zmodyfikowanego Eulera i schematu Heuna.
Zbadaj rząd zbieżności schematu punktu środkowego (ang. midpoint). Czy schemat jest silnie stabilny?
Zaimplementuj schematy: otwarty i zamknięty Eulera w octave i przetestuj rzędy zbieżności eksperymentalnie metodą połowionego kroku, jak opisano w rozdziale 5.4 dla równania
skalarnego
Do rozwiązywania nieliniowego równania przy implementacji schematu zamkniętego w każdym kroku możesz użyć funkcji fsolve()
.
Zaimplementuj schemat trapezów, por. (4.7), w octave i przetestuj rząd zbieżności eksperymentalnie metodą połowionego kroku, jak opisano w rozdziale 5.4 dla równania
skalarnego
Do rozwiązywania nieliniowego równania w każdym kroku możesz użyć funkcji fsolve()
.
Zaimplementuj zmodyfikowany schemat Eulera oraz schemat Heuna w octave i przetestuj rzędy zbieżności eksperymentalnie metodą połowionego kroku, jak opisano w rozdziale 5.4.
Zaimplementuj schemat Rungego rzędu cztery, dany wzorem (4.15) w octave i przetestuj rząd zbieżności schematu eksperymentalnie metodą połowionego kroku, jak opisano w rozdziale 5.4.
Zaimplementuj schemat (ang. midpoint) w octave i przetestuj rząd zbieżności schematu eksperymentalnie metodą połowionego kroku,
jak opisano w rozdziale 5.4, przyjmując, że
Zbadaj rząd, stabilność i rząd zbieżności otwartego dwukrokowego schematu Adamsa, por. Ćwiczenie 4.7.
Zaimplementuj w octave otwarty dwukrokowy schemat Adamsa, por. Ćwiczenie 4.7.
Następnie przetestuj eksperymentalnie rząd zbieżności tego schematu metodą połowionego kroku,
jak opisano w rozdziale 5.4 dla
Znajdź dokładne rozwiązanie
Udowodnij stwierdzenie 5.1.
Z tego, że rząd schematu jest co najmniej jeden, wynika od razu warunek zgodności schematu (wystarczy rozważyć oba równania
Czy schemat Adamsa (por. rozdział 4.1.2) może nie być stabilny, ewentualnie nie być silnie stabilny? Uzasadnij podając ewentualnie kontrprzykład niestabilnego (czy nie będącego silnie stabilnym) schematu Adamsa.
Treść automatycznie generowana z plików źródłowych LaTeXa za pomocą oprogramowania wykorzystującego LaTeXML.
strona główna | webmaster | o portalu | pomoc
© Wydział Matematyki, Informatyki i Mechaniki UW, 2009-2010. Niniejsze materiały są udostępnione bezpłatnie na licencji Creative Commons Uznanie autorstwa-Użycie niekomercyjne-Bez utworów zależnych 3.0 Polska.
Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego.
Projekt współfinansowany przez Ministerstwo Nauki i Szkolnictwa Wyższego i przez Uniwersytet Warszawski.