Vectorized Numerical Integration Matlab

Program for the numerical integration of functions in a vectorized fashion for increased speed
2.6K descargas
Actualizado 19 May 2016

Ver licencia

Vectorized Numerical Integration Matlab is a program for the numerical integration of functions in a vectorized fashion for increased speed. This toolbox provides functions as well as examples and demos of numerical integration of functions with the most known quadrature rules. The functions (integrands) can be defined as inline functions, as function handles, as separate m files, or even as tabulated discrete data.
For each quadrature rule this package contains:
(a) a function for the calculation of the integration points (i.e. their nodes or coordinates or abscissas and the corresponding weights), if this is possible.
(b) A function which performs the numerical integration
(c) Verification of the above functions
The integration rules included in this package are the following:
(1) Adaptive Clenshaw-Curtis method for inline functions/function handles/m files
(2) Adaptive Gauss-Kronrod method for inline functions/function handles/m files
(3) Adaptive Gauss-Legendre method for inline functions/function handles/m files
(4) Adaptive Gauss-Lobatto method for inline functions/function handles/m files
(5) Adaptive trapezoidal rule for inline functions/function handles/m files
(6) Clenshaw-Curtis method for inline functions/function handles/m files
(7) Gauss-Chebyshev method for inline functions/function handles/m files
(8) Gauss-Hermite method for inline functions/function handles/m files
(9) Gauss-Kronrod method for inline functions/function handles/m files
(10) Gauss-Laguerre method for inline functions/function handles/m files
(11) Gauss-Legendre method for inline functions/function handles/m files
(12) Gauss-Lobatto method for inline functions/function handles/m files
(13) Milne method for inline functions/function handles/m files (as an example)
(14) Newton-Cotes for tabulated functions
(15) Newton-Cotes for inline functions/function handles/m files
(16) Romberg method for inline functions/function handles/m files
(17) Simpson's method for inline functions/function handles/m files
(18) Trapezoidal rule for tabulated functions
(19) Trapezoidal rule for inline functions/function handles/m files
(20) Weddle method for inline functions/function handles/m files (as an example)
All functions are fully verified and optimized to maximize performance.
All functions, except for the ones which integrate tabulated (discrete) data, can integrate over multiple intervals in one action, i.e. this numerical integration toolbox is vectorized. The limits of the intervals can be equally-sized column vectors.
In the examples contained in this toolbox the associated theory of each integration method is presented, and all the functions and the examples are extensively commented.
This toolbox is written exclusively in MATLAB programming language and is available as source code distributed under a BSD-style license (see License.txt).
Type "web('IntPTheory.html')", "web('adQuadTheory.html')" and "web('QuadTheory.html')" to view the associated theory of the numerical integration functions included in the toolbox.
Users are highly encouraged to provide their feedback and/or experience or comments to the author, in order to increase the efficiency of this toolbox.

Citar como

George Papazafeiropoulos (2024). Vectorized Numerical Integration Matlab (https://www.mathworks.com/matlabcentral/fileexchange/48931-vectorized-numerical-integration-matlab), MATLAB Central File Exchange. Recuperado .

Compatibilidad con la versión de MATLAB
Se creó con R2012b
Compatible con cualquier versión
Compatibilidad con las plataformas
Windows macOS Linux

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

INT_TLBX/Examples/

INT_TLBX/lib/

Versión Publicado Notas de la versión
1.2

Vectorization of the toolbox regarding the integration limits (can be vectors)
Functions amd examples were organized

1.1.0.0

Picture added

1.0.0.0