public class Quadrature extends java.lang.Object
I=int_a^b{f(x) dx}
.
Modified by: Joseph A. Huwaldt
Constructor and Description |
---|
Quadrature() |
Modifier and Type | Method and Description |
---|---|
static double |
adaptLobatto(Evaluatable1D func,
double a,
double b,
double tol)
Returns the integral of the supplied function from
a to b
using the adaptive Gauss-Lobatto method.Reference: Gander, W., Gautschi, W., "Adaptive Quadrature - Revisited", ETH Zürich, Aug. |
static double |
gaussLegendre_Wx1N10(Evaluatable1D func,
double a,
double b)
Returns the integral of the supplied function from
a to b
using Gauss-Legendre integration (W(x) = 1, N=10). |
static double |
gaussLegendre_Wx1N20(Evaluatable1D func,
double a,
double b)
Returns the integral of the supplied function from
a to b
using Gauss-Legendre integration (W(x) = 1, N=20). |
static double |
gaussLegendre_Wx1N40(Evaluatable1D func,
double a,
double b)
Returns the integral of the supplied function from
a to b
using Gauss-Legendre integration (W(x) = 1, N=40). |
static double |
simpsonsRule(Evaluatable1D func,
double a,
double b,
double tol)
Returns the integral of the supplied function from
a to
b using Simpson's Rule. |
public Quadrature()
public static double simpsonsRule(Evaluatable1D func, double a, double b, double tol) throws IntegratorException, RootException
a
to
b
using Simpson's Rule. Reference: Numerical Recipes in C, pg. 139.func
- The function being integrated (the "derivative" method is never called).a
- The lower integration limit (must be < b).b
- The upper integration limit (must be > a).tol
- The desired relative error.a
to b
.IntegratorException
- if to many iterations are attempted.RootException
- thrown by the function itself.public static double gaussLegendre_Wx1N10(Evaluatable1D func, double a, double b) throws RootException
a
to b
using Gauss-Legendre integration (W(x) = 1, N=10).
Reference: Numerical Recipes in C, pg. 148.func
- The function being integrated (the "derivative" function is never called).a
- The lower integration limit (must be < b).b
- The upper integration limit (must be > a).a
to b
.RootException
- may be thrown by the function itself.public static double gaussLegendre_Wx1N20(Evaluatable1D func, double a, double b) throws RootException
a
to b
using Gauss-Legendre integration (W(x) = 1, N=20).
Reference: Numerical Recipes in C, pg. 148.func
- The function being integrated (the "derivative" function is never called).a
- The lower integration limit (must be < b).b
- The upper integration limit (must be > a).a
to b
.RootException
- may be thrown by the function itself.public static double gaussLegendre_Wx1N40(Evaluatable1D func, double a, double b) throws RootException
a
to b
using Gauss-Legendre integration (W(x) = 1, N=40).
Reference: Numerical Recipes in C, pg. 148.func
- The function being integrated (the "derivative" function is never called).a
- The lower integration limit (must be < b).b
- The upper integration limit (must be > a).a
to b
.RootException
- may be thrown by the function itself.public static double adaptLobatto(Evaluatable1D func, double a, double b, double tol) throws IntegratorException, RootException
a
to b
using the adaptive Gauss-Lobatto method.func
- The function being integrated (the "derivative" function is never called).a
- The lower integration limit (must be < b).b
- The upper integration limit (must be > a).tol
- The desired relative error.a
to b
.IntegratorException
- if to many iterations are attempted.RootException
- may be thrown by the function itself.