


Z = smooth(Y) : smooth iData objects
@iData/smooth function to smooth iData objects
The smooth method uses a Robust spline smoothing or Savitzky-Golay algorithm
The spline smoothing relies on a frequency spline smoothing (discrete cosine
transform), whereas the Savitzky-Golay uses a generalized moving average
with filter coefficients determined by an unweighted linear least-squares
regression and a polynomial model of specified degree (default is 2).
The spline method is shape preserving, whereas the Savitzky-Golay may lead
to important distribution modifications.
Z = SMOOTH(Y) automatically smoothes the uniformly-sampled array Y. Y
can be any N-D noisy array (time series, images, 3D data,...). Non
finite data (NaN or Inf) are treated as missing values.
Z = SMOOTH(Y,S) smoothes the data Y using the smoothing parameter S.
S must be a real positive scalar. The larger S is, the smoother the
output will be. If the smoothing parameter S is omitted (see previous
option) or empty (i.e. S = []), it is automatically determined using
the generalized cross-validation (GCV) method.
Z = SMOOTH(Y,W) or Z = SMOOTH(Y,W,S) specifies a weighting array W of
real positive values, that must have the same size as Y. Note that a
nil weight corresponds to a missing value.
Z = SMOOTH(Y,'sgolay') uses the Savitzky-Golay method (2nd order)
Z = SMOOTH(Y,'sgolay',degree) uses the Savitzky-Golay method with polynomial
degree specified by degree.
Z = SMOOTH(Y,span,'sgolay',degree) uses the number of data points specified
by span in the Savitzky-Golay calculation. span must be odd and degree must
be less than span.
Z = SMOOTH(Y,span,'sgolay',degree,dimensions) specifies the dimensions along
which the Savitzky-Golay filter should be applied (integer or vector up to ndims).
Z = SMOOTH(Y, 'gauss', [ widths ]) uses a nD gaussian convolution
Robust smoothing
----------------
Z = SMOOTHN(...,'robust') carries out a robust smoothing that minimizes
the influence of outlying data.
Reference
---------
Garcia D, Robust smoothing of gridded data in one and higher dimensions
with missing values. Computational Statistics & Data Analysis, 2010.
<a href="matlab:web('http://www.biomecardio.com/pageshtm/publi/csda10.pdf')">PDF download</a>
http://www.biomecardio.com/matlab/smoothn.html
Numerical recipes in C. p 650
input: a: object or array (iData/array of)
output: s: smoothed data set (iData)
ex: c=smooth(a);
Version: Nov. 27, 2018
See also iData, iData/interp