[ < ] [ globale Übersicht ] [ Kapitelübersicht ] [ Stichwortsuche ] [ > ]

7.2.2 Die Wahl der Abtastpunkte

Abtastpunkte sind jene Punkte, an denen die Integrationsalgorithmen den Funktionswert auswerten. Der Aufwand und die Genauigkeit eines Integrationsalgorithmus hängt entscheidend von der Anzahl und Position der Abtastpunkte ab.

7.2.2.1 Nicht-adaptive Diskretisierung (Unterteilung)

Bei nicht-adaptiver Diskretisierung werden die Abtastpunkte unabhängig voneinander gewählt. Genauere Kenntnisse über die zu integrierende Funktion sind dabei nicht notwendig. Durch die Unabhängigkeit der Abtastpunkte ist eine gleichzeitige Auswertung der Funktionswerte möglich (Vorteil bei Mehrprozessorsystemen).
Diese Diskretisierungsstrategie hat allerdings den Nachteil, daß die Anzahl der benötigten Funktionsauswertungen, um die geforderte Genauigkeit zu erzielen, unnötig hoch sein kann. In diesem Fall hat der Integrationsalgorithmus einen unnötig hohen Aufwand.

Der Meta-Algorithmus für die nicht-adaptive Integration hat folgendes Aussehen:

 
N=0;		//Diskretisierungsparameter
e0=GROß(e0);	//Fählerschätzung e0 mit großem Wert initialisieren
while(eN>EPS)
{
	N=N+inkrement;
	berechne Näherungswert qN=QN(f;B);     //Q führt Funktionsauswertung über B durch
	berechne Fählerschätzung eN=EN(f;B);   //E führt Fehlerabschätung über B durch
}

7.2.2.2 Adaptive Diskretisierung

Das Ziel bei der adaptiven Diskretisierung ist es, mit einer möglichst geringen Anzahl von Funktionsauswertungen eine vorgegebene Genauigkeit zu erreichen.
Dazu werden die Abtastpunkte dynamisch durch numerische Experimente an die Eingenschaften der Funktion angepasst. Dies geschieht nach folgendem Schema:

  • Man wählt einen ersten Abtastpunkt x1 und führt die Funktionauswertung durch: f(x1).
  • Der nächste Abtastpunkt x2 wird auf Grund von x1 und f(x1) gewählt.
  • Der n-te Abtastpunkte xn ergibt sich somit aus den Werten x1, f(x1), xn-1, f(xn-1), ...

     
    n=0;
    add2Liste(L, x1);		//fügt Abtastpunkt x1 in Liste L aller Abtastpunkte ein
    while(n<Anz)		        //Anz. der Abtastpunkte
    {
    	xn=getAbtastpkt(L);	//berechnet neuen Abtastpunkt aufgrund aller bisherigen
    	add2Liste(L, xn);	//fügt neuen Abtastpunkt xn in Liste L aller Abtastpunkte ein
    	n++;
    }
    berechne Näherungswert qn=Qn(f;L);      //Funktionsauswertung mit Hilfe der Liste
    berechne Fählerschätzung en=En(f;L);    //Fehlerabschätung mit Hilfe der Liste
    

    Die Effizienz und Zuverlässigkeit eines solchen Verfahrens hängt entscheidend von der räumlichen Unterteilungstrategie ab. Die Entscheidung, ob ein Teilbereich noch weiter zu unterteilen ist, kann auf Grund des lokalen Wissen über den Teilbereich oder auf Grund des globalen Wissen über die Funktion gefällt werden. Man spricht dann von lokalen, bzw. globalen Unterteilungsstrategien. Die Tiefe der Unterteilung ist also dynamisch.


    [ < ] [ globale Übersicht ] [ Kapitelübersicht ] [ Stichwortsuche ] [ > ]