Generalised Exponential Integral

Computes the generalised exponential integral E_a(x) for positive real parameter a and argument x
350 Downloads
Updated 27 Aug 2015

View License

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
Created with R2015a
Compatible with any release
Platform Compatibility
Windows macOS Linux
Categories
Find more on Fortran with MATLAB in Help Center and MATLAB Answers
Tags Add 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!
Version Published Release Notes
1.0.0.0