Bisher haben wir die Anzahl Intervalle frei gewählt. Jetzt wollen wir das Verfahren so verbessern, dass die notwendige Anzahl Intervalle, um eine vorgegebene Genauigkeit zu erreichen, automatisch bestimmt wird.
Wir wählen auch hier einen einfachen Ansatz:
Eingabe: f : Funktion a : linker Rand b : rechter Rand eps : Gewünschte Genauigkeit (z.B: 10-6) area := 0; n0 := 1; (* Wir beginnen mit einem Intervall *) REPEAT alt := area; (* Ich merke mir die Fläche aus dem *) area := 0; (* letzten Durchgang. *) x := a; s := (b-a)/n; n1 := n0; WHILE (n1>0) DO area := area + (f(x)+f(x+s))/2*s; x := x+s; n1 := n1-1; END; n0 := n0*2; (* Nächstes Mal: doppelte Intervallzahl *) UNTIL abs(area-alt)<=eps; Ausgabe: area = Fläche in der gewünschten Genauigkeit