PDF version (NAG web site
, 64-bit version, 64-bit version)
NAG Toolbox: nag_quad_1d_fin_smooth (d01bd)
Purpose
nag_quad_1d_fin_smooth (d01bd) calculates an approximation to the integral of a function over a finite interval
:
It is non-adaptive and as such is recommended for the integration of ‘smooth’ functions. These
exclude integrands with singularities, derivative singularities or high peaks on
, or which oscillate too strongly on
.
Syntax
Description
nag_quad_1d_fin_smooth (d01bd) is based on the QUADPACK routine QNG (see
Piessens et al. (1983)). It is a non-adaptive function which uses as its basic rules, the Gauss
-point and
-point formulae. If the accuracy criterion is not met, formulae using
and
points are used successively, stopping whenever the accuracy criterion is satisfied.
This function is designed for smooth integrands only.
References
Patterson T N L (1968) The Optimum addition of points to quadrature formulae Math. Comput. 22 847–856
Piessens R, de Doncker–Kapenga E, Überhuber C and Kahaner D (1983) QUADPACK, A Subroutine Package for Automatic Integration Springer–Verlag
Parameters
Compulsory Input Parameters
- 1:
– function handle or string containing name of m-file
-
f must return the value of the integrand
at a given point.
[result] = f(x)
Input Parameters
- 1:
– double scalar
-
The point at which the integrand must be evaluated.
Output Parameters
- 1:
– double scalar
-
The value of
evaluated at
x.
- 2:
– double scalar
-
, the lower limit of integration.
- 3:
– double scalar
-
, the upper limit of integration. It is not necessary that .
- 4:
– double scalar
-
The absolute accuracy required. If
epsabs is negative, the absolute value is used. See
Accuracy.
- 5:
– double scalar
-
The relative accuracy required. If
epsrel is negative, the absolute value is used. See
Accuracy.
Optional Input Parameters
None.
Output Parameters
- 1:
– double scalar
-
The approximation to the integral .
- 2:
– double scalar
-
An estimate of the modulus of the absolute error, which should be an upper bound for .
Error Indicators and Warnings
There are no specific errors detected by
nag_quad_1d_fin_smooth (d01bd). However, if
abserr is greater than
this indicates that the function has probably failed to achieve the requested accuracy within
function evaluations.
Accuracy
nag_quad_1d_fin_smooth (d01bd) attempts to compute an approximation,
result, such that:
where
and
epsabs and
epsrel are user-specified absolute and relative error tolerances. There can be no guarantee that this is achieved, and you are advised to subdivide the interval if you have any doubts about the accuracy obtained. Note that
abserr contains an estimated bound on
.
Further Comments
The time taken by nag_quad_1d_fin_smooth (d01bd) depends on the integrand and the accuracy required.
Example
Open in the MATLAB editor:
d01bd_example
function d01bd_example
fprintf('d01bd example results\n\n');
f = @(x) x^2*sin(10*pi*x);
a = 0;
b = 1;
epsabs = 0;
epsrel = 0.0001;
[result, abserr] = d01bd( ...
f, a, b, epsabs, epsrel);
fprintf('Result = %13.5f, Standard error = %10.2e\n', result, abserr);
d01bd example results
Result = -0.03183, Standard error = 1.34e-11
PDF version (NAG web site
, 64-bit version, 64-bit version)
© The Numerical Algorithms Group Ltd, Oxford, UK. 2009–2015