I have forgotten
my Password

Or login with:

  • Facebookhttp://facebook.com/
  • Googlehttps://www.google.com/accounts/o8/id
  • Yahoohttps://me.yahoo.com
COST (GBP)
this unit 1.00
sub units 0.00
+
0

gauss

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

add cart

Interface

C++

Gauss

 
doublegaussdouble(*f)(double)[function pointer]
doublea
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 f:I \subset \mathbb{R} \rightarrow \mathbb{R} and two distinct abscissas 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 \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;
}

Output

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

References

Mihai Postolache - "Metode Numerice", Editura Sirius

Parameters

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

Returns

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

Authors

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.