I have forgotten
my Password

this unit 1.00
sub units 0.00


Computes the definite integral of a function using the Gauss quadrature for 3 points.
Controller: CodeCogs




doublegaussdouble(*f)(double)[function pointer]
doubleb )[inline]
This module computes the area beneath a user supplied function using an approximation given by a certain weighted sum of function values.

Consider a function \inline f:I \subset \mathbb{R} \rightarrow \mathbb{R} and two distinct abscissas \inline a < b \in I. In order to compute an approximation of the definite integral: we will use the Gauss-Legendre quadrature formula for 3 points:

For fixed \inline \displaystyle \xi \in (a, b) the error of this approximation is given by

Example 1

In what follows an approximation is found for the definite integral and the absolute error from its actual value is estimated.
#include <codecogs/maths/calculus/quadrature/gauss.h>
#include <stdio.h>
#include <math.h>
// function to integrate
double f(double x)
  return sin(x);
// the primitive of f, to estimate errors
double pf(double x)
  return -cos(x);
int main()
  // compute the approximate area
  double fi = Maths::Calculus::Quadrature::gauss(f, 2, 3),
  // use the Leibniz-Newton formula to find a more precise estimate
  realfi = pf(3) - pf(2);
  // display the result and error estimate
  printf("      f(x) = sin(x)\n");
  printf("   I(2, 3) = %.15lf\n", fi);
  printf("real value = %.15lf\n", realfi);
  printf("     error = %.15lf\n\n", fabs(fi - realfi));
  return 0;


f(x) = sin(x)
   I(2, 3) = 0.573845954654464
real value = 0.573845660053303
     error = 0.000000294601161


Mihai Postolache - "Metode Numerice", Editura Sirius


fthe function to integrate
athe inferior limit of integration
bthe superior limit of integration


The definite integral of the given function from a to b.


Lucian Bentea (September 2006)
Source Code

Source code is available when you buy a Commercial licence.

Not a member, then Register with CodeCogs. Already a Member, then Login.