ndnanfilter.m

Filter/smoothing of multidimensional data with an specified window function, ignoring NaNs.
6.6K Downloads
Updated 4 May 2016

View License

NDNANFILTER N-dimensional zero-phase digital filter, ignoring NaNs.

SHORT SYNTAX:
[Y,W] = ndnanfilter(X,HWIN,F);

SHORT INPUT:
X - Multidimensional data with/without NaNs.
HWIN - Window's name (N-D moving average by default: 'rectwin').
F - Vector specifying the semi-width of the window for each dimension.
SHORT OUTPUT:
Y - Filtered/smoothed X data (same size as X!) with zero phase shift.
W - N-dimensional window with central symmetry generated by a special subfunction called NDWIND.

SHORT DESCRIPTION:
This function applies a N-dimensional convolution of X with W, using the MATLAB's IMFILTER or CONVN function, ignoring/interpolating/filling NaNs.

By default, the edges are padded with the values of X at the borders with the PADARRAY MATLAB's function. When PADARRAY is not found, the program performs zero-padding.

SHORT NOTE:
* See the screenshot.

Cite As

Carlos Adrian Vargas Aguilera (2026). ndnanfilter.m (https://www.mathworks.com/matlabcentral/fileexchange/20417-ndnanfilter-m), MATLAB Central File Exchange. Retrieved .

MATLAB Release Compatibility
Created with R2007b
Compatible with any release
Platform Compatibility
Windows macOS Linux
Version Published Release Notes
1.0.0.0

BSD License
Fixed bug: ynan = any(inan(:)) instead of any(inan).