Całkowanie numeryczne

Z testwiki
Przejdź do nawigacji Przejdź do wyszukiwania

Całkowanie numerycznemetoda numerycznaSzablon:R polegająca na przybliżonym obliczaniu całek oznaczonych. Termin kwadratura numeryczna, często po prostu kwadratura, jest synonimem całkowania numerycznego, w szczególności w odniesieniu do całek jednowymiarowych. Dwu- i wielowymiarowe całkowania nazywane są czasami kubaturami, choć nazwa kwadratura odnosi się również do całkowania w wyższych wymiarach.

Proste metody całkowania numerycznego polegają na przybliżeniu całki za pomocą odpowiedniej sumy ważonej wartości całkowanej funkcji w kilku punktach. Aby uzyskać dokładniejsze przybliżenie dzieli się przedział całkowania na niewielkie fragmenty. Ostateczny wynik jest sumą oszacowań całek w poszczególnych podprzedziałach. Najczęściej przedział dzieli się na równe podprzedziały, ale bardziej wyszukane algorytmy potrafią dostosowywać krok do szybkości zmienności funkcji.

Metoda prostokątów

Najprostsza z metod kwadraturowych polega na zastosowaniu wzoru

x0xnf(x)hi=0n1f(xi+αh),h=xnx0n,

w którym n jest liczbą podprzedziałow o długości h.

Metoda ta ma trzy warianty:

  • lewych prostokątów, gdy α=0,
  • średnich prostokątów, gdy α=12   – ten wariant daje najlepsze przybliżenie,
  • prawych prostokątów, gdy α=1.

Istnieje oczywiście wariant ogólny, gdy α[0,1].

Metoda trapezów

Metoda trapezów polega na tym, że całkowaną funkcję aproksymujemy liniowo w każdym z podprzedziałów xi+1,xi,i=0,1,n1 o długości h=xnx0n. Dzięki temu otrzymujemy po wprowadzeniu oznaczenia fif(xi)

x0xnf(x)dxi=0n1h2[f(xi+1)+f(xi))]=h(12f0+f1+f2++fn1+12fn).

Oszacowanie błędu tej metody wynosi

Rn=|abf(x)dxSn|(ba)3M'12n2,

gdzie:

M'=maxa,b|f'|.

Metoda parabol (Simpsona)

Szablon:Osobny artykuł

Ta metoda wymaga podzielenia przedziału całkowania na parzystą liczbę 2n podprzedziałów, tzn.

h=x2nx02n,
fi=f(xi),xi=x0+ih,i=0,1,2n.

Stosując kwadratową interpolację Lagrange’a na dwu sąsiadujących podprzedziałach, otrzymujemy

xixi+2f(x)dxh3[fi+4fi+1+fi+2],
x0x2nf(x)dxh3[f0+f2n+4(f1+f3++f2n1)+2(f2+f4+f2n2)].

Przy całkowaniu funkcji f(x)C(4) na przedziale [a,b] błąd metody wynosi

R=(ba)h4180fIV(x),x[a,b].

Metoda Gaussa

Szablon:Osobny artykuł Istotne podwyższenie dokładności wzorów kwadraturowych można uzyskać, stosując metodę GaussaSzablon:R. Jej istota polega na minimalizacji błędu kwadratury przez optymalny wybór położenia węzłów ξi oraz wartości wag wi we wzorze kwadraturowym Szablon:Wzór

w którym F(ξ)=f(a+b2+ba2ξ),dx=ba2dξ.

Dzięki zastosowanemu we wzorze (a) odwzorowaniu x=a+b2+ba2ξ dowolnego przedziału (a,b) na standardowy przedział (1,1), wzór ten jest uniwersalny ponieważ unikalne wartości wi,ξi można stablicować raz na zawsze.

Obliczenie wartości wi,ξi,i=1,2,,n można przeprowadzić żądając, aby całkowanie procedurą Gaussa jednomianów xk,k=0,1,,2n1 dawało wyniki ścisłe Szablon:Wzór

to znaczy aby było dla k=0,1,,2n1

w1ξ1k+w2ξ2k++wnξnk=pk,pk=1(1)k+1k+1.

Po rozpisaniu otrzymujemy, trudny do rozwiązania, nieliniowy układ 2n równań Szablon:Wzór

określający 2n wartości wi,ξi.

W poniższej tabeli zestawionoSzablon:R obliczone wartości parametrów wi,ξi dla wielomianów stopni n8.

n ξ1;ξn ξ2;ξn1 ξ3;ξn2 ξ4;ξn3
1 0
2 0,57735027
3 0,77459667 0
4 0,86113631 0,33998104
5 0,90617985 0,53846931 0
6 0,93246951 0,66120939 0,23861919
7 0,94910791 0,74153119 0,40584515 0
8 0,96028986 0,79666648 0,52553242 0,18343464
n w1;wn w2;wn1 w3;wn2 w4;wn3
1 2
2 1
3 0,55555556 0,88888889
4 0,34785484 0,65214516
5 0,23692688 0,47862868 0,56888889
6 0,17132450 0,36076158 0,46791394
7 0,12948496 0,27970540 0,38183006 0,41795918
8 0,10122854 0,22238104 0,31370664 0,36268378

Cytowany w literaturzeSzablon:R sposób rozwiązania układu równań (c) polega na spostrzeżeniu, że dla dowolnie przyjętych wartości liczbowych ξ1<ξ2<<ξn macierz współczynników ξik, pierwszych n równań tego układu, jest macierzą Vandermonde’a. Dzięki temu wiadomo, że istnieje jednoznacznie określone rozwiązanie wi,i=1,2,n. Kwestią otwartą pozostaje jednak wyznaczenie optymalnych wartości ξi.

W tym celu warunek (b) modyfikuje się do postaci obowiązującej dla wielomianów stopnia N=n+k,k=0,1,,n1. Szablon:Wzór

gdzie Pn(x) jest wielomianem stopnia n.

Całka we wzorze (d) zeruje się, gdy wielomiany Pn(x) są ortogonalne z jednomianami xk dla k<n, przy x(1,1). Dokładnie taką własnośćSzablon:R mają wielomiany Legendre’a. Dla nich mamy wtedy zamiast (d) Szablon:Wzór

Ten warunek jest spełniony tożsamościowo dla dowolnych wartości wi, gdy ξi są pierwiastkami wielomianu Legendre’a n-tego stopnia, wtedy bowiem Pn(ξi)0,i=1,2,n.

Metody losowe

Do przybliżonego obliczania całki oznaczonej można również wykorzystać metody probabilistyczne. Należy pamiętać jednak, że wynik takiego całkowania jest też zmienną losową.

Idea opiera się na policzeniu pola pod wykresem funkcji dla f(x)>0 i odjęciu pola nad wykresem dla f(x)<0

  • probabilistyczna
abf(x)dxbani=1nf(xi),
xi jest losowo wybierane z przedziału <a,b>,
n określa liczność próbki.

Przykłady

Przykład – metoda prostokątów

Spróbujmy scałkować funkcję cos(x) na przedziale od 0 do 1. Ponieważ da się ją scałkować analitycznie, znamy dokładny wynik i możemy łatwo obliczać błąd przybliżenia różnych metod całkowania. Z dokładnością do 10 miejsc dziesiętnych prawidłowy wynik wynosi:

01cos(x)dx=sin(1)sin(0)=0,8414709848.

Całkowanie numeryczne za pomocą zasady punktu środkowego da nam wynik:

01cos(x)dx(10)cos(12)=0,8775825619,

co daje błąd 0,0361115771 (błąd względny 4,3%) – niewielki jak na tak prostą metodę, jednak oczywiście niezadowalający do wielu zastosowań.

Żeby uzyskać lepsze przybliżenia możemy podzielić przedział całkowania:

01cos(x)dx=01/2cos(x)dx+1/21cos(x)dx

(120)cos(14)+(112)cos(34)=0,8503006452

z błędem bezwzględnym 0,0088296604 lub względnym 1%.

Dzieląc przedział całkowania na więcej fragmentów, możemy uzyskać lepsze przybliżenie:

Liczba
części
Wynik Błąd
bezwzględny względny
1 0,8775825619 0,0361115771 4,29%
2 0,8503006452 0,0088296604 1,05%
4 0,8436663168 0,0021953320 0,26%
8 0,8420190672 0,0005480824 0,07%
0,8414709848 0 0%

Przykład 2

Całkowanie numeryczne przebiegów czasowych. Spróbujmy scałkować spróbkowany przebieg sin(t) na przedziale od 0 do 4π [s]. Oznaczmy częstotliwość próbkowania przebiegu przez fp [Hz].

Do obliczeń wykorzystamy metodę prostokątów. Średnica podziału tp=1fp=ti+1ti wynosi 1. Niech Xi(t) oznacza próbkę po całkowaniu. Każdy wyraz Xi można obliczyć jako sumę częściową:

Xi=n=0ixi(t)tp.

Zobacz też

Przypisy

Błąd rozszerzenia cite: Znacznik <ref> o nazwie „Dem”, zdefiniowany w <references>, nie był użyty wcześniej w treści.
Błąd rozszerzenia cite: Znacznik <ref> o nazwie „Olsz”, zdefiniowany w <references>, nie był użyty wcześniej w treści.
Błąd rozszerzenia cite: Znacznik <ref> o nazwie „Mik”, zdefiniowany w <references>, nie był użyty wcześniej w treści.

Szablon:Kontrola autorytatywna