410 likes | 575 Views
Metody matematyczne w in ż ynierii chemicznej. Wyk ł ad 3 . Ca ł kowanie numeryczne. Graficzna definicja ca ł ki oznaczonej. P. a. b. P i. Graficzna definicja ca ł ki oznaczonej. y. f ( x ). x. x 2. x 1. a. b. P i. Metoda prostok ą tów. y. a. b. x. x 2. x i. x i +1. x N.
E N D
Metody matematyczne w inżynierii chemicznej Wykład 3. Całkowanie numeryczne
Pi Graficzna definicja całki oznaczonej y f(x) x x2 x1 a b
Pi Metoda prostokątów y a b x x2 xi xi+1 xN x0 x1
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
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
Pi Metoda trapezów y a b x x2 xi xi+1 xN x0 x1
Metoda trapezów Ostateczny wzór na obliczanie całki metodą trapezów:
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
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 xi = x0+ih y = funkcja x yi = y(xi) powrót 1 Metoda trapezów schemat blokowy start 1 y(x)
Metoda Simpsona y2 y1 y0 P x0 x0+2h x0+h
Metoda Simpsona Inna postać:
Metoda Simpsona • n 2 • 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 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
Metoda Romberga • Modyfikacja metody trapezów • Zwiększenie dokładności poprzez zastosowanie ekstrapolacji http://en.wikipedia.org/wiki/Richardson_extrapolation
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 pozbawionybłędu metody. Pozostaje problem błędu zaokrąglenia!
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.
Metoda Romberga Można utworzyć ciąg: itd. który jest jeszcze szybciej zbieżny.
yi+1 y(2i+1)/2 yi y3/2 y1/2 y1 y0 x0 x1 xi xi+1 x1/2 x(2i+1)/2 x3/2 Metoda Romberga Obliczenie przy znanym
Metoda Romberga przykład Obliczyć całkę oznaczoną: 0,693 147 181
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
- 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:
Zasada metody fmax(x) a a b
Generowanie punktów • Generuje się współrzędne x i y • Wykorzystuje się liczby losowe 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)
Obliczanie ilości trafień • Wylosowany punkt o współrzędnych (xi, yi) jest trafiony jeżeli:
Dokładność • Dokładność metody zależy od: • Ilości wygenerowanych punktów • Jakości generatora liczb losowych
Algorytm • Podaj granice całkowania i funkcję f • Podaj ilość losowań N • Znajdź fmax • I,j=0 • X=a+rnd*(b-a) • Y=rnd*fmax • I=I+1 • Jeżeli f(X)<=Y to j=j+1 • Jeżeli i<N to idź do 4 • P=i/j*(b-a)*f(b) • Drukuj P
x0 x2 Pochodne funkcji w punkcie x1
- Pochodne centralne
Zastosowanie numerycznego obliczania pochodnej w algorytmie znajdowania pierwiastków metodą Newtona
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.
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.