Compute arbitrary function in sliding window
This function can compute any function which operates on column-oriented data over a sliding centered window on column-vector data. It is vectorized and thus trades memory-usage for speed.
For small window sizes this outperforms functions like SMOOTH. But it is not just a fast moving average. You can specify any function handle that operates on column-oriented data and produces a scalar output, e.g. median, std, prctile (with a scalar 'p'), range, min, sum. But you could also create your own function. For example the (quite obscure) function handle
@(X) all(bsxfun(@gt,X(ceil(size(X,1)/2),:),X(1:floor(size(X,1)/2),:)),1) &
all(bsxfun(@ge,X(ceil(size(X,1)/2),:),X(ceil(size(X,1)/2)+1:end,:)),1)
will return a logical array indicating local maxima over a given window size reporting only the first maximum at plateaus.
Citation pour cette source
David J. Mack (2026). Compute arbitrary function in sliding window (https://fr.mathworks.com/matlabcentral/fileexchange/58949-compute-arbitrary-function-in-sliding-window), MATLAB Central File Exchange. Extrait(e) le .
Compatibilité avec les versions de MATLAB
Plateformes compatibles
Windows macOS LinuxCatégories
- Industries > Medical Devices > Cardiology > ECG / EKG >
Tags
Remerciements
Inspiré par : Summarizes data using a sliding window without loops
Découvrir Live Editor
Créez des scripts avec du code, des résultats et du texte formaté dans un même document exécutable.
| Version | Publié le | Notes de version | |
|---|---|---|---|
| 1.0.0.0 | Updated description. |
