Metody matematyczne w Inżynierii Chemicznej

Download Report

Transcript Metody matematyczne w Inżynierii Chemicznej

Metody matematyczne w
Inżynierii Chemicznej
Rozwiązywanie równań
różniczkowych
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
x0 , y0 
x1, y1   x0  h, y0  k 
k  y1  y0
1 2
1 3
1 4 4 
y1  y0  hy0  h y0  h y0  h y0  .......
2!
3!
4!
1 2
1 3
1 4 4 






k  hy0  h y0  h y0  h y0  .......
2!
3!
4!
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:
K  ak1  bk2
k1  hF x0 , y0 
k 2  hF x0  mh, y0  nk1 
Parametry: a, b, m, n to stałe tak dobrane by błąd
aproksymacji k przez K miał rząd 3
 
k  K  O h3
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:
F x0 , y0 
F x0 , y0 
F x0  mh, y0  nk1   F x0 , y0   mh
 nk1
 O h2
x
y
Po podstawieniu do wzoru na k2:
 
F x0 , y0 
F x0 , y0 
k2  hF x0 , y0   mh
 nhk1
 O h3
x
y
 
2
I ostatecznie do wzoru na K
F x0 , y0 
F x0 , y0 
K  ak1  bhF x0 , y0   bmh
 bnhk1
 O h3
x
y
2
 
Zasada metod klasy Rungego-Kutty
Ponieważ:
k1  hF x0 , y0 
F x0 , y0 
F x0 , y0 
2
K  ahF x0 , y0   bhF x0 , y0   bmh
 bnh F x0 , y0 
 O h3
x
y
 
2
Aby wyznaczyć parametry a, b, n, m trzeba porównać
1
1
1
k  hy  h y  h y  h
z rozwinięciem k
2!
3!
4!
y0  F x0 , y0 
2
0
3
0
0
4
y04   .......
F x0 , y0 
F x0 , y0 
y0 
 F x0 , y0 
x
y
F x0 , y0 
h 2 F x0 , y0  h 2
k  hF x0 , y0  
 F x0 , y0 
 O h3
2
x
2
y
 
Zasada metod klasy Rungego-Kutty
F x0 , y0 
2 F  x0 , y0 
2
K  a  b hF x0 , y0   bmh
 bnh F x0 , y0 
 Oh3 
x
k  hF x0 , y0  
y
F x0 , y0 
1 2 F x0 , y0  1 2
h
 h F x0 , y0 
 O h3
2
x
2
y

a  b  1

1

bm 
2

1

bn  2
 
Można „dowolnie” przyjąć 1 wartość
Przyjmijmy m=1
otrzymamy:
b=½
a= ½
n=1
Zasada metod klasy Rungego-Kutty
k1  hF  x0 , y0 
k 2  hF  x0  h, y0  k1 
1
1
K  k1  k 2
2
2
Ogólnie:
k1  hF xi , yi 
k 2  hF  xi  h, yi  k1 
1
1
K  k1  k 2
2
2
yi 1  yi  K  Oh 3 
Metoda Rungego-Kutty rzędu 4-tego
(Rungego-Simpsona)
k1  hF  xi , yi 
1
1 

k 2  hF  xi  h, yi  k1 
2
2 

1
1 

k3  hF  xi  h, yi  k 2 
2
2 

k 4  hF  xi  h, yi  k3 
1
K  k1  2k 2  k3   k 4 
6
yi 1  yi  K  O h 5
 
Zastosowanie metody Rungego-Kutty
do układów rr. i rr. wyższego rzędu.
k 1  hF xi , y i 
1
1 

k 2  hF xi  h, y i  k 1 
2
2 

1
1 

k 3  hF xi  h, y i  k 2 
2
2 

k 4  hF xi  h, y i  k 3 
1
K  k 1  2k 2  k 3   k 4 
6
y i 1  y i  K
Zastosowanie metody Rungego-Kutty
do układów rr. i rr. wyższego rzędu.
 yi ,1 


y
 i,2 
y i  ..... 


..... 
y 
 i,M 
Wektor wartości w kroku i -tym
dyi1
yi 2 
dx
dyi 2
yi 3 
dx
yi 4 
dyi 3
..............
dx
Zastosowanie metody Rungego-Kutty
do układów rr. i rr. wyższego rzędu.
 F1 xi , yi ,1 , yi , 2 ,...., yi , M  




F
x
,
y
,
y
,....,
y
i,M 
 2 i i ,1 i , 2

Fxi , y i   .....


.....

 F x , y , y ,...., y 
i,M 
 M i i ,1 i , 2
Funkcja wektorowa (prawe strony równań)
Zastosowanie metody Rungego-Kutty
do układów rr. i rr. wyższego rzędu.
k1,1 
k3,1 
k 2,1 






k
 1, 2 
 k 3, 2 
k 2, 2 
k 1  .....  k 2  .....  k 3  ..... 






..... 
..... 
..... 
k 
k 
k 
 1, M 
 3, M 
 2,M 
k 4,1 


k
 4, 2 
k 4  ..... 


..... 
k 
 4,M 
Wektory współczynników
 K1 
K 
 2 
K 4  ..... 


..... 
K M 


Zastosowanie metody RungegoKutty do rr. drugiego rzędu.
Podstawmy
d2y
dy 

 f  x, y, 
2
dx
dx 

y1  y
dy dy1
y2 

dx dx
 dy2
 dx  f  x, y1 , y2 

 dy1  y
2
 dx
Zastosowanie metody RungegoKutty do rr. drugiego rzędu.
Funkcja wektorowa:
 f x, y1 , y2 
F  x, y   

y
 2

i-ty wektor wartości
 yi ,1 
yi   
 yi , 2 
Zastosowanie metody RungegoKutty do rr. drugiego rzędu.
Wektory współczynników:
k1,1  hf xi , yi ,1 , yi , 2 
k1     

k1, 2  hyi , 2

 
1
1
1

hf  xi  h, yi ,1  k1,1 , yi , 2  k1, 2 

k 2,1 
2
2
2



k2    

k 2, 2  h y  1 k 


i,2
1, 2
2

 

Zastosowanie metody RungegoKutty do rr. drugiego rzędu.
Wektory współczynników:
 
1
1
1

hf  xi  h, yi ,1  k 2,1 , yi , 2  k 2, 2 

k3,1 
2
2
2



k3    

k3, 2  h y  1 k 


i,2
2, 2
2

 

k 4,1  hf xi  h, yi ,1  k3,1 , yi , 2  k3, 2 
k4     



k
h
y

k
 4 , 2   i , 2 3, 2

Zastosowanie metody RungegoKutty do rr. drugiego rzędu.
1


k1,1  2k 2,1  k3,1   k 4,1  

K
 1 1
6
K     k 1  2k 2  k 3   k 4   

K2  6
 1 k  2k  k   k 
2, 2
3, 2
4, 2
 6 1, 2

 yi ,1  K1   yi 1 
y i 1  y i  K  
 
 yi , 2  K 2   yi1 
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)
5. Oblicz K=1/6(k1+2(k2+k3)+k4)
6. Oblicz yi+1=yi+K
7. xi+1 = xi+h
8. Zwiększ i o 1
9. Jeżeli i<n idź do punktu 4
10. Przyjmij i=0
11. Drukuj xj, yj
12. Zwiększ i o 1
13. Jeżeli i<=n idź do punktu11
14. Koniec
1.
2.
3.
4.