Transcript Document
Metody matematyczne w
Inżynierii Chemicznej
Rozwiązywanie równań
różniczkowych
Równanie różniczkowe rzędu n
Wzór ogólny
f x, y, y, y,..., y
n
0
Cel rozwiązania równania
różniczkowego
Matematyk: rozwiązanie ogólne w
postaci funkcji
Inżynier: rozwiązanie szczególne,
określone przez warunki początkowe.
Interesujące są 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:
d2y
dy
a by 0
2
dt
dt
Warunki początkowe:
t0
dy
0
dt t 0
yt 0 0
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:
d2y
dy
a by 0
2
dx
dx
x0
dy
0
dx x 0
x0
y x0 0
lub
i
i
x 10
y x10 1
x 10
y x10 1
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:
d2y
dy
a by 0
2
dt
dt
dy
z
dt
d 2 y dz
2
dt
dt
Równania wyższych rzędów
Otrzymujemy układ równań pierwszego rzędu:
dz
dt az by 0
dy z
dt
Równania wyższych rzędów
Dla równanie trzeciego rzędu
d3y
d2y
dy
a 2 b cy 0
3
dt
dt
dt
dy
z
dt
d 2z
dz
a bz cy 0
2
dt
dt
Równania wyższych rzędów
Równanie trzeciego rzędu przechodzi w układ 3 równań
pierwszego rzędu
dy
z
dt
dz
x
dt
dx
ax bz cy 0
dt
Metody rozwiązywania r.r.
1.
2.
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 <0, h>
b oblicza się wg algorytmu danej metody
Metoda Eulera
x x0
dy
f x, y z warunkami początkowymi
dx
y y
f x, y
x h
yxx
0
yi 1 yi f x , y Oh
i
i
h
yi1 yi hf xi , yi Oh
x0 , y0
y1 , x1 x0 h
2
y0
II rząd
y2 , x2 x1 h
Metoda Eulera dla równań 2-go rzędu
d2y
dy
f x, y,
2
dx
dx
dy
dx z
dz f x, y , z
dx
z warunkami
początkowymi
x x0
yxx0 y0
dy
y0
dx x x0
x x0
z warunkami
początkowymi
yxx
0
y0
z xx
y0
0
Metoda Eulera dla równań 2-go rzędu
yi 1 yi hz i
zi 1 zi hf xi , yi , z1
x0
x1 x0 h x2 x1h
y0
y0 z0
y1
y2
z1
z2
Metody wielokrokowe
Typy
1.
2.
Wykorzystujące wzory na wartość
pochodnej w punkcie
Wykorzystujące metody całkowania
numerycznego
Zasada metod wielokrokowych
xi-p
xi-3
xi-2
xi-1 xi
xi+1
Metody wielokrokowe typ 1.
Pochodną w równaniu:
y F x, y
Podstawia się odpowiednim wyrażeniem.
Jeżeli zastosować najprostszy wzór na pochodną:
yi 1 yi
yi
Oh
h
Po podstawieniu:
yi 1 yi
F xi , yi
Oh
h
i przekształceniu:
2
yi 1 yi hF xi , yi O h
m. Eulera
Metody wielokrokowe typ 1.
Jeżeli zastosować dokładniejszy wzór na pochodną:
1
yi 1 yi 1 O h 2
yi
2h
Po podstawieniu:
1
2
yi 1 yi 1 O h
F xi , yi
2h
i przekształceniu:
yi 1 yi 1 2hFxi , yi O h3
Metody wielokrokowe typ 1.
Jeszcze większą dokładność otrzyma się stosując wzór:
1
yi 2 6 yi 1 3 yi 2 yi 1 O h3
yi
6h
Po podstawieniu:
1
yi 2 6 yi 1 3 yi 2 yi 1 O h3 F xi , yi
6h
i przekształceniu:
3
1
4
yi 1 yi 3 yi 1 yi 2 3hF xi , yi O h
2
2
Metody wielokrokowe typ 1.
Podsumowanie
2hFx , y Oh
yi 1 yi 0 yi 1 hFxi , yi O h
2
yi 1 0 yi yi1
i
i
3
1
yi 1 yi 3 yi 1 yi 2 3hF xi , yi Oh 4
2
2
3
yi 1 a0 yi a1 yi 1 a2 yi 2 ... a p yi p b1F xi , yi
Ogólny wzór metod wielokrokowych jawnych
Metody wielokrokowe typ 2.
Opierając się na operacji całkowania równania:
y F x, y
W granicach przedziału <i-p, i+1>
i 1
i 1
i p
i p
ydx F x, y dx
Lewa strona jest dokładnie równa różnicy wartości funkcji
między punktami i-p, i+1:
i 1
yi 1 yi p
F x, y dx
i p
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
i 1
yi 1 yi
yi 1 yi
xi h
F x, y dx
i
2
F
x
,
y
dx
hF
x
,
y
O
h
i
i
xi
yi 1 yi hFxi , yi O h2
m. Eulera!!
Metody wielokrokowe typ 2.
Jeżeli zastosować metodę trapezów to p = 0
xi h
h
3
yi 1 yi F x, y dx F xi , yi F xi 1 , yi 1 O h
2
xi
h
3
yi 1 yi F xi , yi F xi 1 , yi 1 O h
2
Równanie to jest
uwikłane ze
względu na yi+1.
Metody takie nazywane są niejawnymi
Metody wielokrokowe typ 2.
F xi , yi to wartość pochodnej w punkcie i
Można ją oznaczyć yi , co upraszcza zapis
Ponieważ
Metodę bazującą na całkowaniu metodą trapezów
można ostatecznie zapisać
h
yi 1 yi yi yi1 O h 3
2
Rozwiązanie wymaga wykonania obliczeń iteracyjnych
Metody wielokrokowe typ 2.
1.
2.
3.
4.
Wstępne oszacowanie wartości yi+1.
Obliczenie pochodnej y'i+1=F(xi+1, yi+1)
Obliczenie yi+1 z wyprowadzonego 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)
i 1
i 1
h
5
i1y dx i1F x, y dx 3 yi1 4 yi yi1 O h
Otrzymuje się wzór niejawny
h
yi 1 yi 1 yi1 4 yi yi1 O h 5
3
Metody wielokrokowe typ.2
podsumowanie
yi 1 yi 0 hyi0
p=0
h
h
yi 1 yi 0 yi0 yi1
2
2
p=0
h
4h
h
yi 1 yi 1 yi1
yi yi1
3
3
3
yi1 yi p bp1 yi p bp yi p1 ... b0 yi1
p=1
Metody wielokrokowe wzór
ogólny
yi 1 a0 yi a1 yi 1 a2 yi2 ... a p yi p b1 yi
yi1 yi p bp1 yi p bp yi p1 ... b0 yi1
yi 1 a0 yi a1 yi 1 ... a p yi p b0 yi1 b1 yi .... bp yi p
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.
y *i 1 yi 1 2hFxi , yi O h3
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
h
yi 1 yi yi1 yi O h 3
2
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:
yik1 yik11 h n
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:
4h
2 yi yi1 2 yi2 O h5
yi 1 yi 3
3
Korekta:
1
yi 1 9 yi yi 2 3h yi1 2 yi yi1 O h 5
8
Metody wielokrokowe predictor-corrector
Metoda Milne'a (2)
Prognoza:
3h
7
yi 1 yi 5 11 yi 14 yi 1 26 yi 2 14 yi 3 11 yi 4 O h
10
Korekta:
2
yi 1 yi 3 h7 yi1 32 yi 12 yi1 32 yi 2 7 yi3 O h 7
45
Metody wielokrokowe predictor-corrector
Wzory Adamsa
Prognoza (Adamsa-Bashfortha):
h
yi 1 yi 55 yi 59 yi1 37 yi 2 9 yi3 O h 5
24
Korekta (Adamsa-Moultona):
h
yi 1 yi 9 yi1 19 yi 5 yi1 yi 2 O h 5
24
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.
1 2 2
1 3 3
1 4 4 4
yi y x ih y0 ihy0 i h y0 i h y0 i h y0 .......
2
6
24
Stabilność i zbieżność obliczeń
y2
y3
Y
y1
y0
h
x0
x1
x2
x3
Zbieżność oznacza, że:
lim y x, h Y x
h 0
Stabilność i zbieżność obliczeń
We wszystkich wzorach błąd jest dodatnią potęgą kroku:
Ponieważ krok jest bardzo mały h << 1
oraz
h1 h
2
h1
stąd
n
hn
2
n
O h 1 O h n
2
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:
ek emk ezk
cz
e
h
k
z
emk cmhn1
Stabilność i zbieżność obliczeń
0.25
błąd zaokrąglenia
błąd metody
błąd wypadkowy
0.2
0.15
0.1
0.05
0
0
0.002
0.004
hopt
0.006
0.008
0.01
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 yi 1 yi h / 2 F xi 1 , y * F
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
xi , yi
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