Generalised Exponential Integral
This function computes the generalized exponential integral E_a(x) for positive real parameter a and argument x. Call it as y=genexpint(a,x) or y=genexpint(a,x,expscale). If the optional third input argument expscale is set to true, the output is exp(x)*E_a(x), which is finite for large x where exp(x) overflows and E_a(x) underflows.
The code uses a MATLAB translation of the FORTRAN function DGAMIC from the SLATEC library. DGAMIC computes the upper incomplete gamma function for negative real parameter, using the algorithm of Gautschi (ACM Trans. Math. Soft. 5(4) pp 466-481, 1979). For x>1, the Legendre continued fraction is used to calculate the function
G(1-a)=exp(x)*E_a(x). For x<=1, the generalized exponential integral is obtained from the relationship
E_a(x)=x^(a-1)*Gamma(1-a,x). (Note that the incomplete gamma function parameter 1-a can be negative, so the MATLAB function gammainc cannot be used here as it is limited to positive real parameters.)
Cite As
Stephen Bocquet (2024). Generalised Exponential Integral (https://www.mathworks.com/matlabcentral/fileexchange/52694-generalised-exponential-integral), MATLAB Central File Exchange. Retrieved .
MATLAB Release Compatibility
Platform Compatibility
Windows macOS LinuxCategories
Tags
Acknowledgements
Inspired by: benbarrowes/f2matlab
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 |