Pobierz prezentację
Pobieranie prezentacji. Proszę czekać
OpublikowałWładysława Ciepielewski Został zmieniony 9 lat temu
1
Metody matematyczne w inżynierii chemicznej
Wykład 3. Całkowanie numeryczne
2
Graficzna definicja całki oznaczonej
P a b
3
Graficzna definicja całki oznaczonej
y Pi f(x) x x1 x2 a b
4
Metoda prostokątów y Pi a b x x0 x1 x2 xi xi+1 xN
5
Błąd metody zależność u(x)= przybliżamy (aproksymujemy)
inną funkcją U(x, h) = Wymagane jest by funkcja "zastępcza" dla h 0 była zbieżna do u(x). Oznacza to, że różnica (Residuum) R musi dążyć do 0 dla h dążącego do 0
6
Błąd metody 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 Ostatecznie
7
Metoda trapezów y Pi a b x x0 x1 x2 xi xi+1 xN
8
Metoda trapezów Ostateczny wzór na obliczanie całki metodą trapezów:
9
Metoda trapezów algorytm
Przeczytaj granice całkowania, x0 i xN Przeczytaj ilość podziałów N Oblicz h = (x0 - x1)/N Oblicz y0 i yN Oblicz P = h/2(y0 + yN) Przyjmij i = 1 Oblicz xi = x0 +ih Oblicz yi Oblicz P = P + hyi Zwiększ i o 1 (i=i+1) Jeżeli iN-1 to idź do p. 6 Drukuj P Koniec
10
Metoda trapezów schemat blokowy
start 1 Czytaj N, x0,xN P = P + hyi h = (x0+xN)/N i = i + 1 y0 = y(x0) i N-1 yN = y(xN) Drukuj P P = h/2(y0 + yN) koniec i = 1 y(x) xi = x0+ih y = funkcja x yi = y(xi) powrót 1
11
Metoda trapezów program
5 DEF FNy(x) = funkcja x 10 INPUT "Podaj granice całkowania"; x0, xN 20 INPUT "Podaj ilość podziałów N:"; N 30 h = (xN – x0)/N 40 y0 = FNy(x0): yN = FNy(xN) 50 P = h/2*(y0+yN) 60 FOR i= 1 to N-1 70 xi = x0 + i*h 80 yi = FNy(xi) 90 P = P + h*yi 100 NEXT i 110 PRINT "Wartość całki to:"; P 120 END
12
Metoda Simpsona y2 y1 y0 P x0 x0+2h x0+h
13
Metoda Simpsona Inna postać:
14
Metoda Simpsona n 2 n = 2k, gdzie k to dowolna liczba naturalna
Warunki jakie musi spełniać ilość podziałów n: n 2 n = 2k, gdzie k to dowolna liczba naturalna
15
Metoda Simpsona program
10 DEF FNy(x) = jakaś funkcja x 20 INPUT "Podaj granice całkowania:"; x0, xN 30 INPUT "Na ile części podzielić przedział (liczba parzysta)"; N 40 IF (INT(N/2)-N/2) <> 0 THEN PRINT "N nie jest liczbą parzystą": GOTO 30 50 h = (xN-x0)/N 60 P = h/3*(FNy(x0)+FNy(xN)) 70 FOR i = 1 TO N-1 80 xi = x0 + i*h 90 P = P + h/3*(3+(-1)^(i+1))*FNy(xi) 100 NEXT i 110 PRINT "Całka ma wartość: "; P 120 END
16
Metoda Romberga/Richardsona
Modyfikacja metody trapezów Zwiększenie dokładności poprzez zastosowanie ekstrapolacji
17
Metoda Romberga Granice całkowania <a, b> dzielimy na N części to Przybliżoną wartość całki określa wzór: Jeżeli krok zmniejszymy 2-krotnie: W ten sam sposób obliczmy: Jest oczywiste, że dla N otrzymamy wynik pozbawiony błędu metody. Pozostaje problem błędu zaokrąglenia!
18
Metoda Romberga Utwórzmy nowy ciąg zgodnie z równaniami: itd.
Można wykazać, że ciąg taki jest szybciej zbieżny niż ciąg pierwotny.
19
Metoda Romberga Można utworzyć ciąg: itd.
który jest jeszcze szybciej zbieżny. Ogólnie
20
Metoda Romberga Obliczenie przy znanym x0 x1 xi xi+1 y0 y1 yi yi+1
21
Metoda Romberga przykład
Obliczyć całkę oznaczoną: 0,
22
Szacowanie błędu całkowania numerycznego
Ogólny wzór na przybliżoną całkę oznaczoną: Jeżeli obliczymy wartość całki dla dwóch kroków o długości h1 = h oraz h2 = h/2
23
Szacowanie błędu całkowania numerycznego
błąd metody jest funkcją kroku: Zakładamy, że h jest bardzo małe Poszukujemy tylko wartości A Podstawiając h: -
24
Szacowanie błędu całkowania numerycznego
25
Szacowanie błędu całkowania numerycznego
26
Metoda Monte Carlo
27
Zasada metody fmax(x) a a b
28
Generowanie punktów Generuje się współrzędne x i y
Wykorzystuje się liczby losowe (l.l.) o rozkładzie jednostajnym Domyślny generator ma zakres 0-1 Współrzędna x = a + l.l.*(b-a) Współrzędna y = l.l.*fmax(x)
29
Obliczanie ilości trafień
Wylosowany punkt o współrzędnych (xi, yi) jest trafiony jeżeli:
30
Dokładność Dokładność metody zależy od: Ilości wygenerowanych punktów
Jakości generatora liczb losowych
31
Algorytm Podaj granice całkowania i funkcję f Podaj ilość losowań N
I,j=0 Znajdź wartość fmax w przedziale <a,b> X=a+rnd*(b-a) Y=rnd*f.max I=I+1 Jeżeli Y<=f(X) to j=j+1 Jeżeli i<N to idź do 5 P=j/n*(b-a)*fmax Drukuj P
32
Numeryczne obliczanie pochodnych
33
Pochodne funkcji w punkcie
x2 x0 x1
34
Pochodne centralne -
35
Pochodne centralne O(h2)
36
Pochodne centralne O(h3)
37
Pochodne w przód/w tył O(h)
38
Pochodne w przód/w tył O(h2)
39
Pochodne w przód/w tył O(h3)
40
Zastosowanie numerycznego obliczania pochodnej w algorytmie znajdowania pierwiastków metodą Newtona
41
Algorytm metody Newtona
Wprowadzić punkt startowy x1 oraz dokładność Obliczyć y1 Obliczyć y'1 Obliczyć Jeżeli |x2- x1 | todrukuj x2, koniec. x1= x2 Powrót do punktu 2 Koniec.
42
Algorytm obliczenia pochodnej
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.
Podobne prezentacje
© 2024 SlidePlayer.pl Inc.
All rights reserved.