image thumbnail

Signal complexity analysis

version 1.0.4 (956 KB) by Amir Omidvarnia
MATLAB implementation of approximate entropy (ApEn), sample entropy (SampEn), range entropy A (RangeEn-A) and range entropy B (RangeEn-B)


Updated 30 Dec 2018

View License

This package implements approximate entropy (ApEn), sample entropy (SampEn) as well as range entropies (RangeEn) A and B in MATLAB.

ApEn and SampEn have been implemented in two ways: slow and fast. The slow implementation is more intuitive and easier to follow. The idea of the fast implementation has been taken from 'sampen' function of the 'nolds' library in Python (

RangeEn-A and RangeEn-B are based on the fast implementations of ApEn and SampEn, respectively.

You can run 'fBm_entropy_analysis' for a 'How to' example of the entropy measures on fractional Brownian motion (MATLAB's 'wfbm' function). See my github page for more examples in Python:

Reference of ApEn: S. M. Pincus, “Approximate entropy as a measure of system complexity.,” Proc. Natl. Acad. Sci., vol. 88, no. 6, pp. 2297–2301, Mar. 1991.

Reference of SampEn: J. S. Richman and J. R. Moorman, “Physiological time-series analysis using approximate entropy and sample entropy,” Am. J. Physiol. Heart Circ. Physiol., vol. 278, no. 6, pp. H2039-2049, Jun. 2000.

Cite As

A. Omidvarnia, M. Mesbah, M. Pedersen, and G. Jackson, “Range Entropy: A Bridge between Signal Complexity and Self-Similarity,” Entropy, vol. 20, no. 12, p. 962, Dec. 2018.

MATLAB Release Compatibility
Created with R2018b
Compatible with any release
Platform Compatibility
Windows macOS Linux

Community Treasure Hunt

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

Start Hunting!