Integrali

Metoda nedoločenih koeficientov

Kvadrature ali integral

Kvadratura je zgodovinsko ime za integral. Izraz se je ohranil pri formulah za numerično računanje integralov, ki jim pogosto rečemo kvadraturne formule ali preprosto kvadrature.

Kvadraturne formule lahko izpeljemo s preprostim postopkom imenovanim metoda nedoločenih koeficientov. Kvadraturna formula bo tem višjega reda, za kolikor višjo stopnjo polinomov bo formula točna, brez napake. Tako lahko koeficiente določimo preporsto tako, da v formulo zaporedoma vstavljamo polinome vedno višjih stopenj, dokler ne določimo vseh koeficientov kvadraturne formule.

Primer

Izpeljite kvadraturno formulo za integral

\[\int_{-1}^1 f(x)dx = Af(-x_0)+Bf(0)+Cf(x_0)\]

z metodo nedoločenih koeficientov. Iz omenjenega pravila izpeljite še sestavljeno pravilo in izpeljite tudi oceno za napako.

Gaussove kvadraturne formule

Že pri interpolaciji smo videli, da ekvidistančne točke niso najboljša izbira. Podobno velja pri kvadraturnih formulah. Če želimo poiskati kvadraturno formulo s kar največjega reda, s čim manj izračuni funkcije, ekvidistančne točke niso prava izbira. Boljša izbira so ničle ortogonalnih polinomov.

Primer

Izračunajte integral

\[\int_0^5\sin(x)dx\]

s sestavljeno trapezno, sestavljeno Simpsonovo in Gauss-Lagendrovimi kvadraturami. Primerjajte število zahtevanih izračunov funkcije za različne metode, ki dajo isto natančnost $10^{-12}$. Gauss-Legendrove kvadraturne formule izračunamo z Golub-Welschovim algoritmom.

Koda

NumMat.gauss_quad_ruleFunction
x, w = gauss_quad_rule(a, b, c, mu, n)

Izračuna uteži w in vozlišča x za Gaussove kvadraturne formule za integral

\[\int_a^b f(x)w(x)dx \simeq w_1f(x_1)+\ldots w_n f(x_n)\]

z Golub-Welshovim algoritmom.

Parametri a, b in c so funkcije n, ki določajo koeficiente v tročlenski rekurzivni formuli za ortogonalne polinome na intervalu $[a,b]$ z utežjo w(x)

\[p_n(x) = (a(n)x+b(n))p_{n-1}(x) - c_n p_{n-2}(x)\]

mu je vrednost integrala uteži na izbranem intervalu

\[\mu = \int_a^b w(x)dx\]

Primer

za računanje integrala z utežjo $w(x)=1$ na intervalu $[-1,1]$, lahko uporabimo Legendrove ortogonalne polinome, ki zadoščajo rekurzivni zvezi

\[p_{n+1}(x) = \frac{2n+1}{n+1}x p_n(x) -\frac{n}{n+1} p_{n-1}\]

Naslednji program izpiše vozlišča in uteži za n od 1 do 5

a(n) = (2*n-1)/n; b(n) = 0.0; c(n) = (n-1)/n;
μ = 2;
println("Gauss-Legendrove kvadrature")
for n=1:5
  x0, w = gauss_quad_rule(a, b, c, μ, n);
  println("n=$n")
  println("vozlišča: ", x0)
  println("uteži: ", w)
end
source