Metoda Romberga

Z Wikipedii, wolnej encyklopedii
Skocz do: nawigacji, wyszukiwania

Metoda Romberga – jedna z metod całkowania numerycznego, opierająca się na metodzie ekstrapolacji Richardsona, pozwalająca przybliżać wartość całki:

\! \int\limits_a^b f(x)dx

nieznanej (jawnie) funkcji f. Funkcja ta jest zazwyczaj znana tylko na dyskretnym zbiorze argumentów (np. jako wynik pomiarów stanu urządzenia (wartość funkcji) dla różnych stanów (argument funkcji)).

Niech dany będzie zbiór \! a=x_0,x_1,\cdots, x_{2^i}=b dzielących przedział (a,b) na \! 2^i równych części taki, że znane są wartości funkcji funkcji \! f(x_i)=y_i

Niech \! h_i=\frac{b-a}{2^i}, oznacza długość kroku.

Metodę Romberga można opisać rekurencyjnie:


\left\{
\begin{matrix}
R_{0,i} &: R_{2^i}=h_i\cdot \sum_{k=0}^{2^i-1}(\frac{f(x_k)+f(x_{k+1})}{2})\\
\ \\
\ R_{m,i} &: \! \frac{4^m\cdot R_{m-1,i+1}-R_{m-1,i}}{4^m-1}
\end{matrix}
\right.

\! R_{0,i} jest wzorem trapezów, po obliczeniu pierwszego wiersza tzw. tablicy Romberga, kolejne kolumny obliczane są rekurencyjnie, otrzymując coraz lepsze przybliżenie funkcji:


\! R_{0,0}
\! R_{0,1} \! R_{1,0}
\! R_{0,2} \! R_{1,1} \! R_{2,0}
\! R_{0,3} \! R_{1,2} \! R_{2,1} \! R_{3,0} ...
...

Przykład wykorzystania metody Romberga[edytuj | edytuj kod]

Załóżmy, że dane są wyniki pomiarów pewnej funkcji w punktach \! x_0, x_1, x_2,x_3,x_4


x_i 0 0.25 0.5 0.75 1
y_i 1 2 2 0 1





Dla tego przypadku:

  • \! i=2
  • \! a\ =\ 0
  • \! b\ =\ 1
  •  h_0\ =\ \frac{1-0}{1}\ = 1
  •  h_1\ =\ \frac{1-0}{2}\ = 0.5
  •  h_2\ =\ \frac{1-0}{2^2}\ = 0.25

Ponieważ i=2 poszukiwana będzie tablica Romberga typu:

\! R_{0,0}
\! R_{0,1} \! R_{1,0}
\! R_{0,2} \! R_{1,1} \! R_{2,0}

Obliczenie pierwszej kolumny tablicy Romberga:

R_{0,0}\ =\ h_0\cdot \sum_{k=0}^{0} \frac{f(x_k)\ +\ f(x_{k+1})}{2}\ =\ \frac{1+2}{2}\ =\ 1.5
R_{0,1}\ =\ h_1\cdot \sum_{k=0}^{1} \frac{f(x_k)\ +\ f(x_{k+1})}{2}\ =\ 0.5\cdot(\frac{1+2}{2}\ +\ \frac{2+2}{2})\ =\ 1.75
R_{0,2}\ =\ h_2\cdot \sum_{k=0}^{2} \frac{f(x_k)\ +\ f(x_{k+1})}{2}\ =\ 0.25\cdot(\frac{1+2}{2}\ +\ \frac{2+2}{2}\ +\ \frac{2+0}{2})\ =\ 1.125

Oraz kolejnych wyrazów korzystając z poprzednich wyników:

R_{1,0}\ =\ \frac{4^1\cdot R_{0,1}\ -\ R_{0,0}}{4^1\ -\ 1}\ =\ 1.833
R_{1,1}\ =\ \frac{4^1\cdot R_{0,2}\ -\ R_{0,1}}{4^1\ -\ 1}\ =\ \frac{11}{12}\
R_{2,0}\ =\ \frac{4^2\cdot R_{1,1}\ -\ R_{1,0}}{4^2\ -\ 1}\ =\ 0.856

Błąd metody Romberga[edytuj | edytuj kod]

Błąd, tj. przekłamanie wyniku otrzymanego metodą Romberga względem wyniku prawdziwego wynosi : O\left(h^{2^{m+1}}\right).

Dowód[edytuj | edytuj kod]