Integration Class Reference

Class for numerical integration methods. More...

#include <Integration.h>

Public Member Functions

 Integration ()
 Default constructor.
 
 Integration (real_t low, real_t high, function< real_t(real_t)> const &f, IntegrationScheme s, real_t error)
 Constructor.
 
 ~Integration ()
 Destructor.
 
void setFunction (function< real_t(real_t)> const &f)
 Define function to integrate numerically.
 
void setScheme (IntegrationScheme s)
 Set time inegration scheme.
 
void setTriangle (real_t x1, real_t y1, real_t x2, real_t y2, real_t x3, real_t y3)
 Define integration domain as a quadrilateral.
 
void setQuadrilateral (real_t x1, real_t y1, real_t x2, real_t y2, real_t x3, real_t y3, real_t x4, real_t y4)
 Define integration domain as a quadrilateral.
 
real_t run ()
 Run numerical integration.
 

Detailed Description

Class for numerical integration methods.

Class NumInt defines and stores numerical integration data

Author
Rachid Touzani

Constructor & Destructor Documentation

◆ Integration()

Integration ( real_t  low,
real_t  high,
function< real_t(real_t)> const &  f,
IntegrationScheme  s,
real_t  error 
)

Constructor.

Parameters
[in]lowLower value of integration interval
[in]highUpper value of integration interval
[in]fFunction to integrate
[in]sIntegration scheme. To choose among enumerated values:
  • LEFT_RECTANGLE:
  • RIGHT_RECTANGLE:
  • MID_RECTANGLE:
  • TRAPEZOIDAL:
  • SIMPSON:
  • GAUSS_LEGENDRE:
[in]error

Member Function Documentation

◆ run()

real_t run ( )

Run numerical integration.

Returns
Computed approximate value of integral

◆ setFunction()

void setFunction ( function< real_t(real_t)> const &  f)

Define function to integrate numerically.

Parameters
[in]fFunction to integrate

◆ setQuadrilateral()

void setQuadrilateral ( real_t  x1,
real_t  y1,
real_t  x2,
real_t  y2,
real_t  x3,
real_t  y3,
real_t  x4,
real_t  y4 
)

Define integration domain as a quadrilateral.

Parameters
[in]x1x-coordinate of first vertex of quadrilateral
[in]y1y-coordinate of first vertex of quadrilateral
[in]x2x-coordinate of second vertex of quadrilateral
[in]y2y-coordinate of second vertex of quadrilateral
[in]x3x-coordinate of third vertex of quadrilateral
[in]y3y-coordinate of third vertex of quadrilateral
[in]x4x-coordinate of fourth vertex of quadrilateral
[in]y4y-coordinate of fourth vertex of quadrilateral

◆ setScheme()

void setScheme ( IntegrationScheme  s)

Set time inegration scheme.

Parameters
[in]sScheme to choose among enumerated values:
  • LEFT_RECTANGLE:
  • RIGHT_RECTANGLE:
  • MID_RECTANGLE:
  • TRAPEZOIDAL:
  • SIMPSON:
  • GAUSS_LEGENDRE:

◆ setTriangle()

void setTriangle ( real_t  x1,
real_t  y1,
real_t  x2,
real_t  y2,
real_t  x3,
real_t  y3 
)

Define integration domain as a quadrilateral.

Parameters
[in]x1x-coordinate of first vertex of triangle
[in]y1y-coordinate of first vertex of triangle
[in]x2x-coordinate of second vertex of triangle
[in]y2y-coordinate of second vertex of triangle
[in]x3x-coordinate of third vertex of triangle
[in]y3y-coordinate of third vertex of triangle