Skip to article frontmatterSkip to article content
Site not loading correctly?

This may be due to an incorrect BASE_URL configuration. See the MyST Documentation for reference.

Führen ein konkretes Verfahren zur numerischen Integration ein, welches uns gelegentlich gute Dienste leisten wird, insbesondere auch für das Lösen partieller Differentialgleichungen. Für einen anderen Ansatz und zusätzliche theoretische Untermauerung sei auf die Veranstaltung zur numerischen Mathematik verwiesen.

4.1Idee

Um das Integral

I:=abf(x)dxI:=\int_a^b f(x)\diff x

einer stetigen Funktion f:[a,b]Rf:[a,b]\to\bbR näherungsweise zu berechnen, stellen wir ff als Linearkombination einfach integrierbarer Basisfunktionen dar:

f(x)i=1ncibi(x).f(x)\approx\sum_{i=1}^n c_i\,b_i(x).

Dabei sind c1,,cnRc_1,\ldots,c_n\in\bbR die von ff abhängenden Koeffizienten und b1,,bn:[a,b]Rb_1,\ldots,b_n:[a,b]\to\bbR von ff unabhängige Funktionen. Aus den Eigenschaften des Integrals (Linearität!) folgt sofort

I=i=1nciabbi(x)dx.I=\sum_{i=1}^n c_i\,\int_a^b b_i(x)\diff x.

Die Idee, allgemeine Funktionen als Linearkombinationen von zweckmäßig gewählten Basisfunktionen darzustellen, ist im wissenschaftlichen Rechnen weit verbreitet, sodass im Folgenden auch über die Bedürfnisse der numerischen Integration hinausgehende Beispiele für Basisfunktionen genannt werden.

4.2Übliche Basisfunktionen

4.2.1Stückweise konstante Funktionen

Für a=:x0<x1<<xn:=ba=:x_0<x_1<\cdots<x_n:=b setze

bi(x):={1,falls x[xi1,xi),0,sonst,b_i(x):=\begin{cases} 1,&\text{falls }x\in[x_{i-1},x_i),\\ 0,&\text{sonst},\end{cases}

für i=1,,ni=1,\ldots,n.

Dann gilt

f(x)i=1nf(xi+xi12)bi(x)f(x)\approx\sum_{i=1}^n f\left(\frac{x_i+x_{i-1}}{2}\right)\,b_i(x)

und die Integrale der Basisfunktionen sind

abbi(x)dx=1xixi1.\int_a^b b_i(x)\diff x=\frac{1}{x_i-x_{i-1}}.

4.2.2Stückweise lineare Funktionen

Für a=:x1<x2<<xn:=ba=:x_1<x_2<\cdots<x_n:=b setze

b1(x):={x2xx2x1,falls x[x1,x2],0,sonst,bn(x):={xxn1xnxn1,falls x[xn1,xn],0,sonst,{\begin{align} b_1(x)&:=\begin{cases} \frac{x_2-x}{x_2-x_1},&\text{falls }x\in[x_1,x_2],\\ 0,&\text{sonst}, \end{cases}\\ b_n(x)&:=\begin{cases} \frac{x-x_{n-1}}{x_n-x_{n-1}},&\text{falls }x\in[x_{n-1},x_n],\\ 0,&\text{sonst},\end{cases} \end{align}}

und

bi(x):={xxi1xixi1,falls x[xi1,xi],xi+1xxi+1xi,falls x[xi,xi+1],0,sonst,b_i(x):=\begin{cases} \frac{x-x_{i-1}}{x_i-x_{i-1}},&\text{falls }x\in[x_{i-1},x_i],\\ \frac{x_{i+1}-x}{x_{i+1}-x_i},&\text{falls }x\in[x_i,x_{i+1}],\\ 0,&\text{sonst},\end{cases}

für i=2,,n1i=2,\ldots,n-1.

Dann gilt

f(x)i=1nf(xi)bi(x)f(x)\approx\sum_{i=1}^n f(x_i)\,b_i(x)

und die Integrale der Basisfunktionen sind

abbi(x)dx={x2x12,fu¨i=1,xi+1xi12,fu¨i=2,,n1,xnxn12,fu¨i=n.\int_a^b b_i(x)\diff x=\begin{cases} \frac{x_2-x_1}{2},&\text{für }i=1,\\ \frac{x_{i+1}-x_{i-1}}{2},&\text{für }i=2,\ldots,n-1,\\ \frac{x_n-x_{n-1}}{2},&\text{für }i=n. \end{cases}

4.2.3Radiale Basisfunktionen

Seien x1,,xn[a,b]x_1,\ldots,x_n\in[a,b] paarweise verschieden und sei g:RRg:\bbR\to\bbR eine Funktion, die nur von x|x| und nicht direkt von xx abhängt. Dann heißen die Funktionen

bi(x):=g(xxi)b_i(x):=g(x-x_i)

radiale Basisfunktionen. Diese entstehen durch Verschiebung der Funktion gg und sind symmetrisch. Üblicherweise hat gg Hütchen- oder Glockenform.

Beispiele:

4.2.4Fourier-Basis

Für glatte Funktionen f:[a,b]Rf:[a,b]\to\bbR, die einen Ausschnitt einer periodischen Funktion darstellen, also f(a)=f(b)f(a)=f(b) erfüllen, bietet sich die sogenannte Fourier-Basis an. Zur Vereinfachung der Formeln wird diese gern anders indiziert:

b0(x):=1babisin(x):=ba2sin(2πixaba),bicos(x):=ba2cos(2πixaba).{\begin{align} b_0(x)&:=\frac{1}{b-a}\\ b^{\mathrm{sin}}_i(x)&:=\sqrt{\frac{b-a}{2}}\,\sin\left(2\,\pi\,i\,\frac{x-a}{b-a}\right),\\ b^{\mathrm{cos}}_i(x)&:=\sqrt{\frac{b-a}{2}}\,\cos\left(2\,\pi\,i\,\frac{x-a}{b-a}\right). \end{align}}

Man erhält also die Folge b0,b1sin,b1cos,b2sin,b2cos,b_0,b^{\mathrm{sin}}_1,b^{\mathrm{cos}}_1,b^{\mathrm{sin}}_2,b^{\mathrm{cos}}_2,\ldots von Basisfunktionen. Die Koeffizienten zur Darstellung von ff sind dann

c0:=abf(x)b0(x)dx,cisin:=abf(x)bisin(x)dx,cicos:=abf(x)bicos(x)dx{\begin{align} c_0&:=\int_a^b f(x)\,b_0(x)\diff x,\\ c^{\mathrm{sin}}_i&:=\int_a^b f(x)\,b^{\mathrm{sin}}_i(x)\diff x,\\ c^{\mathrm{cos}}_i&:=\int_a^b f(x)\,b^{\mathrm{cos}}_i(x)\diff x \end{align}}

Bezeichnen wir mit

c:=(c0,c1sin,c1cos,,cnsin,cncos)c:=(c_0,c^{\mathrm{sin}}_1,c^{\mathrm{cos}}_1,\ldots,c^{\mathrm{sin}}_n,c^{\mathrm{cos}}_n)

einen Koeffizientenvektor und mit

gc(x):=c0b0(x)+i=1ncisinbisin(x)+cicosbicos(x)g_c(x):=c_0\,b_0(x)+\sum_{i=1}^n c^{\mathrm{sin}}_i\,b^{\mathrm{sin}}_i(x)+c^{\mathrm{cos}}_i\,b^{\mathrm{cos}}_i(x)

die zugehörige Linearkombination der Basisfunktionen, so erhält man die zu ff passenden Koeffizienten als Lösung des Minimierungsproblems

ab(f(x)gc(x))2dxmincR2n+1\int_a^b\bigl(f(x)-g_c(x)\bigr)^2\diff x\to\min_{c\in\bbR^{2n+1}}

(ohne Beweis).

Für die Berechnung der Koeffizienten aus endlichen vielen Funktionswerten von ff existieren sehr effiziente Algorithmen (Schnelle Fourier-Transformation).

4.2.5Wavelet-Basen

Wavelets sind Funktionen, aus denen man durch systematisches Skalieren und Verschieben Funktionensysteme mit ähnlichen Eigeschaften wie der Fourier-Basis gewinnen kann:

Jedoch bieten Wavelet-Basen viel mehr Freiheiten, da sie nicht zwingend im Frequenzbereich arbeiten (und damit stets überall im Ortsbereich wirken würden), sondern auch lokal im Ortsbereich Manipulationen erlauben.

Das einfachste Beispiel für Wavelets sind die Haar-Wavelets, welche ein Spezialfall der häufig verwendeten Daubechies-Wavelets sind.

4.3Diskretisierte Stammfunktion

Ist zu f:[a,b]Rf:[a,b]\to\bbR die Stammfunktion

F:[a,b]R,F(z)=f(a)+azf(x)dxF:[a,b]\to\bbR,\quad F(z)=f(a)+\int_a^z f(x)\diff x

gesucht, so muss (theoretisch) für jedes zz eine numerische Integration von ff über dem Intervall [a,z][a,z] durchgeführt werden. Praktisch sind wir nur an F(z)F(z) für endlich viele z=ziz=z_i mit a=:z0<z1<<zn:=ba=:z_0<z_1<\cdots<z_n:=b interessiert. Wegen F(z0)=0F(z_0)=0 sollen also nn Werte bestimmt werden.

Wurde ff auf [a,b][a,b] mittels nn Basisfunktionen diskretisiert, so besteht zwischen den Koeffizienten c1,,cnc_1,\ldots,c_n und den gesuchten Funktionswerten F(z1),,F(zn)F(z_1),\ldots,F(z_n) ein linearer Zusammenhang

F(zj)=i=1nciazjbi(x)dx,j=1,,n,F(z_j)=\sum_{i=1}^n c_i\,\int_a^{z_j}b_i(x)\diff x,\quad j=1,\ldots,n,

der als Matrix-Vektor-Produkt

Z=AcZ=A\,c

mit

c:=[c1cn]T,c:={\begin{bmatrix}c_1&\cdots&c_n\end{bmatrix}}^\rmT,

Z:=[F(z1)F(zn)]TZ:={\begin{bmatrix}F(z_1)&\cdots&F(z_n)\end{bmatrix}}^\rmT

und

A:=[az1b1(x)dxaz1bn(x)dxaznb1(x)dxaznbn(x)dx]A:={\begin{bmatrix} \int_a^{z_1}b_1(x)\diff x&\cdots&\int_a^{z_1}b_n(x)\diff x\\ \vdots&&\vdots\\ \int_a^{z_n}b_1(x)\diff x&\cdots&\int_a^{z_n}b_n(x)\diff x \end{bmatrix}}

geschrieben werden kann. Üblicherweise wählt man die Basisfunktionen so, dass diese zu den Integrations Grenzen z1,,znz_1,\ldots,z_n passen, also z.B. stückweise lineare Hütchenfunktionen zu den Punkten z1,,znz_1,\ldots,z_n oder auf den Intervallen [zi,zi+1[z_i,z_{i+1} konstante Basisfunktionen.