gaussq
5.9K Downloads
Updated 28 Nov 2005
No License
CALL:
[int, tol] = gaussq('Fun',A,B,[reltol wfun],[trace,gn],p1,p2,....)
[int, tol] = gaussq('Fun',A,B,[reltol wfun],[trace,gn],alpha,p1,p2,....)
[int, tol] = gaussq('Fun',A,B,[reltol wfun],[trace,gn],alpha,beta,p1,p2,....)
int = evaluated integral
tol = absolute tolerance abs(int-intold)
Fun = inline object, function handle or a function string.
The function may depend on the parameters alpha and beta.
A,B = lower and upper integration limits, respectively.
reltol = relative tolerance (default 1e-3).
wfun = integer defining the weight function:
1 p(x)=1 a =-1, b = 1 Legendre (default)
2 p(x)=1/sqrt((x-a)*(b-x)), a =-1, b = 1 Chebyshev of the
first kind
3 p(x)=sqrt((x-a)*(b-x)), a =-1, b = 1 Chebyshev of the
second kind
4 p(x)=sqrt((x-a)/(b-x)), a = 0, b = 1
5 p(x)=1/sqrt(b-x), a = 0, b = 1
6 p(x)=sqrt(b-x), a = 0, b = 1
7 p(x)=(x-a)^alpha*(b-x)^beta a =-1, b = 1 Jacobi
alpha, beta >-1 (default alpha=beta=0)
8 p(x)=x^alpha*exp(-x) a = 0, b = inf generalized Laguerre
9 p(x)=exp(-x^2) a =-inf, b = inf Hermite
10 p(x)=1 a =-1, b = 1 Legendre (slower than 1)
trace = for non-zero TRACE traces the function evaluations
with a point plot of the integrand (default 0).
gn = number of base points and weight points to start the
integration with (default 2).
p1,p2,...= coefficients to be passed directly to function Fun:
G = Fun(x,p1,p2,...).
GAUSSQ Numerically evaluates a integral using a Gauss quadrature.
The Quadrature integrates a (2m-1)th order polynomial exactly and the
integral is of the form
b
Int (p(x)* Fun(x)) dx
a
GAUSSQ accept integration limits A, B and coefficients P1,P2,...
as matrices or scalars and the result INT is the common size of A, B
and P1,P2,....
Examples :% a) integration of x.^2 from 0 to 2 and from 1 to 4
% b) integration of x^2*exp(-x) from zero to infinity
gaussq('(x.^2)',[0 1],[2 4]) % a)
gaussq('(1)',0,inf,[1e-3 8],[],2) % b)
gaussq('(x.^2)',0,inf,[1e-3 8],[],0) % b)
Cite As
Per A. Brodtkorb (2023). gaussq (https://www.mathworks.com/matlabcentral/fileexchange/32-gaussq), MATLAB Central File Exchange. Retrieved .
MATLAB Release Compatibility
Platform Compatibility
Windows macOS LinuxCategories
Tags
Acknowledgements
Inspired: OFDMA Uplink PUSC 128-FFT
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!Discover Live Editor
Create scripts with code, output, and formatted text in a single executable document.
Version | Published | Release Notes | |
---|---|---|---|
1.0.0.0 | Gaussq is now updated to also allow integration of function handles or inline objects.
|