Metody matematyczne w Inżynierii Chemicznej Rozwiązywanie równań różniczkowych
Równanie różniczkowe rzędu n Wzór ogólny
Cel rozwiązania równania różniczkowego Matematyk: rozwiązanie analityczne w postaci funkcji Inżynier: rozwiązanie w postaci wartości funkcji dla kolejnych zmiennych niezależnych, czyli zbiór par (x1, y1), (x2,y1),...,(xn, yn) kiedy dana jest funkcja f(x, y, y', y",..,y(n) )=0
Warunki początkowe Zagadnienie początkowe Zagadnienie brzegowe
Warunki początkowe Zagadnienie początkowe – wszystkie równania warunków początkowych podane są dla tej samej zmiennej niezależnej Np. dla równania: Warunki początkowe:
Warunki początkowe Zagadnienie brzegowe –równania warunków początkowych podane są dla co najmniej dwóch wartości zmiennej niezależnej Np. dla równania: Warunki brzegowe: i i lub
Równania wyższych rzędów Przekształca się do układów równań rzędu pierwszego Np. w równaniu: podstawmy: stąd:
Równania wyższych rzędów Otrzymujemy układ równań pierwszego rzędu:
Równania wyższych rzędów Dla równanie trzeciego rzędu
Równania wyższych rzędów Równanie trzeciego rzędu przechodzi w układ 3 równań pierwszego rzędu
Rodzaje metod rozwiązywania r.r. Metody wielokrokowe: yi+1 oblicza się na podstawie znanych yi, yi-1, yi-2,.., yi-p. Do wyliczenia punktu (xi+1, yi+1) wymagana jest znajomość p+1 punktów obliczonych wcześniej Metody klasy Rungego-Kutty: yi+1 oblicza się na podstawie yi i pewnych wartości pośrednich F(xi+a, yi+b), gdzie a należy do przedziału < xi, xi+1 > b oblicza się wg algorytmu danej metody
Metoda Eulera z warunkami początkowymi II rząd
Metoda Eulera dla równań 2-go rzędu z warunkami początkowymi z warunkami początkowymi
Metoda Eulera dla równań 2-go rzędu
Metody wielokrokowe Typy Wykorzystujące wzory na wartość pochodnej w punkcie Wykorzystujące wzory całkowania numerycznego
Zasada metod wielokrokowych xi+1 xi-p xi-3 xi-2 xi-1 xi p – oznacza ilość punktów które trzeba mieć do dyspozycji przed obliczeniem punktu i+1 oprócz punktu i
Metody wielokrokowe typ 1. Pochodną w równaniu: Podstawia się odpowiednim wyrażeniem. Jeżeli zastosować najprostszy wzór na pochodną w przód: Po podstawieniu: i przekształceniu: m. Eulera, p=0
Metody wielokrokowe typ 1. Jeżeli zastosować dokładniejszy wzór na pochodną: Po podstawieniu: i przekształceniu: p=1
Metody wielokrokowe typ 1. Jeszcze większą dokładność otrzyma się stosując wzór: Po podstawieniu: i przekształceniu: p=2
Metody wielokrokowe typ 1. Podsumowanie Ogólny wzór metod wielokrokowych jawnych
Metody wielokrokowe typ 2. Wychodzą z operacji całkowania równania: W granicach przedziału <i-p, i+1> Lewa strona jest dokładnie równa różnicy wartości funkcji między punktami i-p, i+1:
Metody wielokrokowe typ 2. Prawą stronę oblicza się całkując numerycznie jedną z metod. Jeżeli zastosować metodę prostokątów to p = 0 m. Eulera!!
Metody wielokrokowe typ 2. Jeżeli zastosować metodę trapezów to p = 0 Równanie to jest uwikłane ze względu na yi+1. Metody takie nazywane są niejawnymi
Metody wielokrokowe typ 2. Ponieważ to wartość pochodnej w punkcie i Można ją oznaczyć , co upraszcza zapis Metodę wielokrokową bazującą na całkowaniu metodą trapezów można ostatecznie zapisać Rozwiązanie wymaga wykonania obliczeń iteracyjnych (w przypadku ogólnym)
Metody wielokrokowe typ 2. Wstępne oszacowanie wartości yi+1. Obliczenie pochodnej y'i+1=F(xi+1, yi+1) Obliczenie yi+1 z wybranego wzoru Porównanie oszacowanej i obliczonej wartości yi+1 . Jeżeli różnią się o więcej niż założona wartość e to powrót do punktu 2. Metody oparte o wzory całkowe mają większą dokładność niż bazujące na równaniach na obliczenie pochodnych
Metody wielokrokowe typ.2 Stosując wzór całkowy Simpsona (p = 1) Otrzymuje się wzór niejawny
Metody wielokrokowe typ.2 podsumowanie
Metody wielokrokowe wzór ogólny Jest to ogólny wzór na metody wielokrokowe b0 = 0 to wzór jest jawny, b0 0 wzór jest niejawny
Metody wielokrokowe dwuetapowe Pierwszy krok można wykonać stosując metodę jawną opartą o wzory na pochodną. Np.: 1. Pierwsze przybliżenie y*i+1 jest nazywane PROGNOZĄ (PREDICTOR) 2. Obliczenie pochodnej y'i+1=F(xi+1 , y*i+1 ) 3. Lepsze przybliżenie yi+1 Nazywane korektą (uściśleniem) - CORRECTOR
Metody wielokrokowe dwuetapowe Punkty 2. i 3. powtarzane są iteracyjnie. Warunek zakończenia obliczeń iteracyjnych można przedstawić następująco: Ten sposób obliczeń nazywany jest metodą predictor-corrector. Przedstawiona metoda nosi nazwę zmodyfikowanej metody Eulera
Metody wielokrokowe predictor-corrector Metoda Milne'a (1) Prognoza: Korekta:
Metody wielokrokowe predictor-corrector Metoda Milne'a (2) Prognoza: Korekta:
Metody wielokrokowe predictor-corrector Wzory Adamsa Prognoza (Adamsa-Bashfortha): Korekta (Adamsa-Moultona):
Obliczanie punktów początkowych w metodach wielokrokowych Stosując metody wielokrokowe mamy dany warunek początkowy typu zagadnienie początkowe czyli współrzędne punktu początkowego x0 i y0. Aby wykonać obliczenia metodą o pewnej wartości p potrzeba jeszcze p par xi, yi. Np. W pierwszej metodzie Milne'a p = 3. Pierwszą wartość jaką możemy obliczyć jest y4 a innym sposobem trzeba obliczyć y1, y2, y3. Można wykorzystać rozwinięcie w szereg Taylora w otoczeniu punktu x0.
Stabilność i zbieżność obliczeń x0 y0 y3 y2 Y x3 x2 x1 y1 h Zbieżność oznacza, że:
Stabilność i zbieżność obliczeń We wszystkich wzorach błąd jest dodatnią potęgą kroku: Ponieważ krok jest bardzo mały h << 1 oraz stąd Przedstawione metody spełniają warunek zbieżności.
Stabilność i zbieżność obliczeń Definicja stabilności Rozwiązanie numeryczne równania różniczkowego jest stabilne, jeżeli błąd wniesiony do obliczeń przez zaokrąglenie lub metodę zostanie w trakcie obliczeń stłumiony lub rośnie wolniej od obliczonych wartości (błąd względny maleje)
Stabilność i zbieżność obliczeń Stabilność, tak jak zbieżność, zależy od kroku. Błąd k-tego kroku obliczeń numerycznych to suma błędów metody i zaokrąglenia:
Stabilność i zbieżność obliczeń hopt
Algorytm rozwiązywania równań różniczkowych metodą jawną O(h3) 1. Czytaj parametry punktów startowych x0, y0, x1, y1 2. Czytaj końcową wartość xk i krok h 3. Podstaw za i wartość 2 4. Oblicz xi = x0+i*h 5. Oblicz yi = yi-2+2hF(xi-1, yi-1) 6. Zwiększ i o 1 7. Oblicz xi = x0+i*h 8. Jeżeli xi <= xk to idź do punktu 5 9. Podstaw za n wartość i-1 10. Podstaw za i wartość 0 11. Drukuj xi oraz yi 12. Zwiększ i o 1 13. Jeżeli i<=n to idź do punktu 11 14. Koniec
Algorytm rozwiązywania równań różniczkowych metodą typu predictor-corrector 1. Czytaj parametry punktów startowych x0, y0, x1, y1 2. Czytaj końcową wartość xk oraz krok h 3. Podstaw za i wartość 1 4. Oblicz xi+1 = x0+(i+1)*h 5. Oblicz yi+1 = yi-1+2hF(xi, yi) 6. Przyjmij y*= yi+1 7. Oblicz 8. Jeżeli |y* – yi+1|>h3 to idź do punktu 6 9. Zwiększ i o 1 10. Oblicz xi+1 = x0+(i+1)*h 11. Jeżeli xi+1 <= xk to idź do punktu 5
Algorytm rozwiązywania równań różniczkowych metodą typu predictor-corrector 12. Podstaw za n wartość i-1 13. Podstaw za i wartość 0 14. Drukuj xi oraz yi 15. Zwiększ i o 1 16. Jeżeli i<=n to idź do punktu 14 17. Koniec
Rozwiązywanie równań różniczkowych Metody klasy Rungego-Kutty
Zalety metod klasy Rungego-Kutty Brak konieczności stosowania dodatkowych algorytmów do obliczenia punktów początkowych Możliwość zmiany kroku w trakcie obliczeń
Zasada metod klasy Rungego-Kutty Bezpośrednie zastosowanie rozwinięcia wymaga użycia trudnych do obliczenia pochodnych wyższych rzędów Metody klasy R-K polegają na podzieleniu odcinka h na N części i wykorzystaniu tylko pochodnych 1-go rzędu z zachowaniem założonej dokładności.
Zasada metod klasy Rungego-Kutty Przyrost k aproksymuje się wyrażeniem liniowym o budowie zależnej od rzędu metody R-K Dla metody drugiego rzędu wyrażenie to ma postać: w którym: Parametry: a, b, m, n to stałe tak dobrane by błąd aproksymacji k przez K miał rząd 3 Składniki równania na K należy rozwinąć w szereg Taylora z 1 pochodną wokół punktu F(x0,y0)
Zasada metod klasy Rungego-Kutty F(x0,y0) to środek rozwinięcia, możliwe jest tylko rozwiniecie k2: Po podstawieniu do wzoru na k2: I ostatecznie do wzoru na K
Zasada metod klasy Rungego-Kutty Ponieważ: Aby wyznaczyć parametry a, b, n, m trzeba porównać z rozwinięciem k
Zasada metod klasy Rungego-Kutty Można „dowolnie” przyjąć 1 wartość Przyjmijmy m=1 otrzymamy: b = ½ a= ½ n = 1
Zasada metod klasy Rungego-Kutty Ogólnie:
Metoda Rungego-Kutty rzędu 4-tego (Rungego-Simpsona)
Zastosowanie metody Rungego-Kutty do układów rr. i rr. wyższego rzędu.
Zastosowanie metody Rungego-Kutty do układów rr. i rr. wyższego rzędu. Wektor wartości w kroku i -tym
Zastosowanie metody Rungego-Kutty do układów rr. i rr. wyższego rzędu. Funkcja wektorowa (prawe strony równań)
Zastosowanie metody Rungego-Kutty do układów rr. i rr. wyższego rzędu. Wektory współczynników
Zastosowanie metody Rungego-Kutty do rr. drugiego rzędu. Podstawmy
Zastosowanie metody Rungego-Kutty do rr. drugiego rzędu. Funkcja wektorowa: i-ty wektor wartości
Zastosowanie metody Rungego-Kutty do rr. drugiego rzędu. Wektory współczynników:
Zastosowanie metody Rungego-Kutty do rr. drugiego rzędu. Wektory współczynników:
Zastosowanie metody Rungego-Kutty do rr. drugiego rzędu.
Metoda Rungego-Kutty algorytm Czytaj punkt startowy x0, y0, xk i ilość podziałów n h=(xk - x0)/n. Przyjmij i=0 Oblicz k1=hF(xi,yi), k2=hF(xi+1/2h,yi+1/2k1), k3=hF(xi+1/2h,yi+1/2k2), k4=hF(xi+h,yi+k3) Oblicz K=1/6(k1+2(k2+k3)+k4) Oblicz yi+1=yi+K xi+1 = xi+h Zwiększ i o 1 Jeżeli i<n idź do punktu 4 Drukuj xj, yj Jeżeli i<=n idź do punktu11 Koniec