File Exchange

Sample Entropy

version 1.1.0 (302 KB) by Víctor Martínez-Cagigal

Víctor Martínez-Cagigal (view profile)

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

Updated 09 Nov 2018

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.

Vinh Loc Le

Eva

Eva (view profile)

Fernando Vaquerizo

Fernando Vaquerizo (view profile)

Good script. Very well optimized!

Eduardo Santamaria

Eduardo Santamaria (view profile)

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