Zum Inhalt springen

Algorithmensammlung: Numerik: Quadratur: Romberg-Verfahren

Aus Wikibooks

Algorithmensammlung: Numerik: Quadratur


Romberg-Verfahren

[Bearbeiten]
// Romberg-Näherung für ein bestimmtes Integral:
// a .... Untere Integrationsgrenze
// b .... Obere Integrationsgrenze
// Die Integrandenfunktion f muss definiert sein.
  
public static double romberg (double a, double b) {
  final int IT = 10;
  int n = 2;
  double[] t = new double[IT+1];
  for (int k=0; k<=IT; k++) {
    n *= 2;
    t[k] = trapezregel(a,b,n);
    int q = 1;
    for (int i=k-1; i>=0; i--) {
      q *= 4;
      t[i] = t[i+1]+(t[i+1]-t[i])/(q-1);
      }
    }
  return t[0];
  }