Metody matematyczne w in ż ynierii chemicznej
-
Upload
bonifacy-ania -
Category
Documents
-
view
41 -
download
0
description
Transcript of Metody matematyczne w in ż ynierii chemicznej
Metody matematyczne w inżynierii chemicznej
Wykład 3. Całkowanie numeryczne
Graficzna definicja całki oznaczonej
P
a b
Pxfb
a
Graficzna definicja całki oznaczonej
a bx1 x2
f(x) 21, xxx
x
y
xfxfxfxx
21
21
lim
dxxfdxxfPx
x
i 2
1
0i
iPP
Pi
Metoda prostokątów
a bx2
x
y
iiii xxxfP 1
N
ii
b
a
Pdxxf0
Pi
x1x0 xi xi+1 xN
hN
xxxxx N
ii
0
1
1
0
N
ii
b
a
xfhdxxf RxfhdxxfN
ii
b
a
1
0
Błąd metodyzależność u(x)= przybliżamy (aproksymujemy)
inną funkcją U(x, h) =
Wymagane jest by funkcja "zastępcza" dla h 0była zbieżna do u(x).
Oznacza to, że różnica (Residuum) R
hxUxuhxR ,, musi dążyć do 0 dla h dążącego do 0
0,lim0
hxRh
b
a
dxxf
1
0
N
iixfh
Błąd metody
nhOhxR ,
Dla metody istotne jest jak szybko zmniejsza się R,co można zapisać
n – dodatnia liczba całkowita oznaczająca rząd metody
Dla jednego kroku metoda prostokątów ma rząd n = 2
Wielokrotne użycie każdej z metoda zmniejsza rząd o 1
hOxfhdxxfN
ii
b
a
1
0
Ostatecznie
hOyhdxxfN
ii
b
a
1
0
Metoda trapezów
a bx2
x
y
hyy
xxxfxf
P iiii
iii 22
11
1
N
ii
b
a
Pdxxf0
Pi
x1x0 xi xi+1 xN
21
012
hOyyh
dxxfN
iii
b
a
Metoda trapezów
21
10 2
20
hOyyyh
dxxfN
iiN
x
x
N
Ostateczny wzór na obliczanie całki metodą trapezów:
Metoda trapezów algorytm1. Przeczytaj granice całkowania, x0 i xN
2. Przeczytaj ilość podziałów N3. Oblicz h = (x0 - x1)/N
4. Oblicz y0 i yN
5. Oblicz P = h/2(y0 + yN)
6. Przyjmij i = 1 7. Oblicz xi = x0 +ih
8. Oblicz yi
9. Oblicz P = P + hyi
10. Zwiększ i o 1 (i=i+1)11. Jeżeli iN-1 to idź do p. 612. Drukuj P13. Koniec
xi = x0+ih
i = 1
Metoda trapezów schemat blokowy
start
i N-1
Drukuj P
koniec
h = (x0+xN)/N
Czytaj N, x0,xN
P = h/2(y0 + yN)
P = P + hyi
i = i + 1
1
y0 = y(x0)
yN = y(xN)
yi = y(xi)
1
y(x)
y = funkcja x
powrót
Metoda Simpsona
x0
x0+hx0+2h
P
5210
2
43
0
0
hOyyyh
dxxfPhx
x
y0
y2
y1
Metoda Simpsona
4143210 4...2424
3
0
0
hOyyyyyyyh
dxxfdxxf
nn
nhx
x
b
a
2421310 ..2..43 nnn yyyyyyyyh
P
22
022
12
0120 24
3
n
ii
n
iin yyyy
hP
1
1
10 13
3
n
ii
in yyy
hP
Inna postać:
Metoda Simpsona
1. n 22. n = 2k, gdzie k to dowolna liczba
naturalna
Warunki jakie musi spełniać ilość podziałów n:
Metoda Simpsona program
10 DEF FNy(x) = jakaś funkcja x20 INPUT "Podaj granice całkowania:"; x0, xN30 INPUT "Na ile części podzielić przedział (liczba parzysta)"; N40 IF (INT(N/2)-N/2) <> 0 THEN PRINT "N nie jest liczbą parzystą": GOTO 30GOTO 3050 h = (xN-x0)/N60 P = h/3*(FNy(x0)+FNy(xN))70 FOR i = 1 TO N-1 80 xi = x0 + i*h90 P = P + h/3*(3+(-1)^(i+1))*FNy(xi)100 NEXT i110 PRINT "Całka ma wartość: "; P120 END
Metoda Romberga
Modyfikacja metody trapezówZwiększenie dokładności poprzez zastosowanie ekstrapolacji
http://en.wikipedia.org/wiki/Richardson_extrapolationhttp://en.wikipedia.org/wiki/Richardson_extrapolation
Metoda RombergaGranice całkowania <a, b> dzielimy na N części to Przybliżoną wartość całki określa wzór:
1
10
0 22
N
iiNN yyy
hT
Jeżeli krok zmniejszymy 2-krotnie:2
2 22 N
ab
N
abhh
1
10
02
222
4
N
iiNN yyy
hT
W ten sam sposób obliczmy: 00
84, NN TT
Jest oczywiste, że dla N otrzymamy wynik pozbawionybłędu metody. Pozostaje problem błędu zaokrąglenia!
Metoda Romberga
3
4 001 2
2
NNN
TTT
Utwórzmy nowy ciąg zgodnie z równaniami:
3
4 001 24
4
NNN
TTT
itd.
Można wykazać, że ciąg taki jest szybciej zbieżny niżciąg pierwotny.
Metoda Romberga
15
16 112 24
4
NNN
TTT
Można utworzyć ciąg:
15
16 112 48
8
NNN
TTT
itd.
który jest jeszcze szybciej zbieżny.
Metoda Romberga
Obliczenie przy znanym 2NT NT
x0 x1 xi xi+1
y0
y1
yi
yi+1
x1/2 x3/2x(2i+1)/2
y1/2y3/2
y(2i+1)/2
2/122/52/32/1 ...22
12 NNN yyyy
hTT
Metoda Romberga przykład
Obliczyć całkę oznaczoną:
2
1 x
dxI
0,693 147 1810,693 147 181
Szacowanie błędu całkowania numerycznego
Ogólny wzór na przybliżoną całkę oznaczoną:
nb
a
hOhPdxxf
nhOhPI 11
nhOhPI 22
Jeżeli obliczymy wartość całki dla dwóch krokówo długości h1 = h oraz h2 = h/2
Szacowanie błędu całkowania numerycznego
błąd metody jest funkcją kroku:
nAhhPI 11 nAhhPI 22
nAhhPI n
hA
hPI
22
Podstawiając h:
-
Poszukujemy tylko wartości A
nn AhhO ...321 nnn DhChBh
Zakładamy, że h jest bardzo małe
Szacowanie błędu całkowania numerycznego
n
n hAAhhPhPII
221
nn h
hAhPhP212
n
n hh
hPh
PA
2
2
Szacowanie błędu całkowania numerycznego
nn
n
n hh
h
hPh
PhO
2
2
nn
hPh
PhO
21
1
2
Metoda Monte Carlo
Zasada metody
a ab
cz
cb
a cz
c
nn
nxfab
nn
nPdxxf
max
fmax(x)
Generowanie punktów
Generuje się współrzędne x i yWykorzystuje się liczby losowe o rozkładzie jednostajnymDomyślny generator ma zakres 0-1Współrzędna x = a + l.l.*(b-a)
Współrzędna y = l.l.*fmax(x)
Obliczanie ilości trafień
Wylosowany punkt o współrzędnych (xi, yi) jest trafiony jeżeli:
ii yxf
Dokładność
Dokładność metody zależy od:Ilości wygenerowanych punktówJakości generatora liczb losowych
Algorytm
1. Podaj granice całkowania i funkcję f2. Podaj ilość losowań N3. Znajdź fmax4. I,j=05. X=a+rnd*(b-a)6. Y=rnd*fmax7. I=I+18. Jeżeli f(X)<=Y to j=j+19. Jeżeli i<N to idź do 410. P=i/j*(b-a)*f(b)11. Drukuj P
Numeryczne obliczanie pochodnych
Pochodne funkcji w punkcie
x1x0 x2
Pochodne centralne
...62
1 1
3
1
2
1112 yh
yh
yhyhxfy
...62
1 1
3
1
2
1110 yh
yh
yhyhxfy --
...6622
3
1
32
1
2
111102 yh
yh
yh
yh
yhyhyyyy
...6
22 1
3
021 yh
yyyh
...62 1
202
1
yh
h
yyy
2021 2
hOh
yyy
Pochodne centralne O(h2)
221021 2
1hOyyy
hy
2431032 22
2
1hOyyyy
hy
Pochodne centralne O(h3)
332102 236
6
1hOyyyy
hy
34321022 163016
12
1hOyyyyy
hy
Pochodne w przód/w tył O(h)
hOyyyh
yy 210220 21
hOyyyyh
yy 3210330 331
hOyyh
yy 0110
1
Pochodne w przód/w tył O(h2)
2321020 452
1hOyyyy
hy
24321030 31424185
2
1hOyyyyy
hy
22100 43
2
1hOyyy
hy
22102 34
2
1hOyyy
hy
2321023 254
1hOyyyy
hy
24321034 51824143
2
1hOyyyyy
hy
Pochodne w przód/w tył O(h3)
34321020 115611410435
12
1hOyyyyy
hy
332100 291811
6
1hOyyyy
hy
332103 111892
6
1hOyyyy
hy
34321024 351041145611
12
1hOyyyyy
hy
Zastosowanie numerycznego obliczania pochodnej w algorytmie
znajdowania pierwiastków metodą Newtona
1. Wprowadzić punkt startowy x1 oraz
dokładność
2. Obliczyć y1
3. Obliczyć y'1
4. Obliczyć
5. Jeżeli |x2- x1 | todrukuj x2, koniec.
6. x1= x2
7. Powrót do punktu 2
8. Koniec.
Algorytm metody Newtona
1
112 y
yxx
3.1 Przyjąć krok h = 0.001
3.2 Obliczyć y0 = f(x-h)
3.3 Obliczyć y2 = f(x+h)
3.4 Obliczyć y' = (y2- y0 )/(2h)
3.5. Sprawdzić, czy y' nie jest równe 0.
Jeżeli tak drukuj informację "zły punkt
startowy" i zakończ program.
Algorytm obliczenia pochodnej