quad
Numerical integration (quadrature).
Syntax
area=quad(@func,a,b)
area=quad(@func,a,b,reltol)
area=quad(@func,a,b,[reltol,abstol])
[area,count]=quad(...)
Inputs
- func
- The function to integrate.
- a
- Lower integration limit.
- b
- Upper integration limit.
- reltol
- Relative tolerance (default: sqrt(eps) or about 1.0e-8).
- abstol
- Absolute tolerance (default: sqrt(eps) or about 1.0e-8).
Outputs
- area
- The estimated area.
- count
- Number of function evaluations.
Examples
Single
interval:
function y = Integrand(x)
y = sqrt(x);
end
[area,count] = quad(@Integrand, 0, 2)
area = 1.88561808
count = 711
Multiple intervals with an anonymous function:
[area,count] = quad(@(x) sqrt(x), [0, 1], [1, 2])
area = [Matrix] 1 x 2
0.66667 1.21895
count = [Matrix] 1 x 2
603 27
Improper integral with an anonymous function:
[area,count] = quad(@(x) exp(-x ^ 2),0,Inf)
area = 0.886226925
count = 198
Comments
quad uses adaptive quadrature with a Gauss-Legendre kernel. The algorithm recursively bisects each interval until the difference between 4 and 5 point Gauss-Legendre rule estimates fall below the relative or absolute tolerance. Either tolerance can be disabled by setting it equal to zero.
The maximum number of function evaluations is 10,000, and the minimum interval is 1.0e-12.
To pass additional parameters to a function argument use an anonymous function.