Sample Entropy

A bearable and vectorized implementation of Sample Entropy (SampEn).


Updated Fri, 09 Nov 2018 09:48:44 +0000

View License

This function computes the Sample Entropy (SampEn) algorithm according to the Richman, J. S., & Moorman, J. R. (2000) recommendations. The script is bearable, compressed and vectorized. Therefore, the computation cost is minimal.

Furthermore, extraordinary cases when SampEn is not defined are considered:
- If B = 0, no regularity has been detected. A common SampEn implementation would return -Inf value.
- If A = 0, the conditional probability is zero (A/B = 0), returning an Inf value.

According to Richman & Moorman, the upper bound of SampEn must be A/B = 2/[(N-m-1)(N-m)], returning SampEn = log(N-m)+log(N-m-1)-log(2). Hence, whenever A or B are equal to 0, that is the correct value.

Input parameters:
- signal: Signal vector with dims. [1xN]
- m: Embedding dimension (m < N).
- r: Tolerance (percentage applied to the SD).
- dist_type: (Optional) Distance type, specified by a string. Default value: 'chebychev' (type help pdist for further information).

Output variables:
- value: SampEn value.

Example of use:
signal = rand(200,1);
value = sampen(signal,1,0.2)

Cite As

Víctor Martínez-Cagigal (2018). Sample Entropy. Mathworks.

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!
Version Published Release Notes