Smooth signal with peaks using nonparametric method
Yout
= mslowess(X
, Intensities
)
mslowess(..., 'Order', OrderValue
,
...)
mslowess(..., 'Span', SpanValue
,
...)
mslowess(..., 'Kernel', KernelValue
,
...)
mslowess(..., 'RobustIterations', RobustIterationsValue
,
...)
mslowess(..., 'ShowPlot', ShowPlotValue
,
...)
X  Vector of separationunit values for
a set of signals with peaks. The number of elements in the vector
equals the number of rows in the matrix Intensities .
The separation unit can quantify wavelength, frequency, distance,
time, or m/z depending on the instrument that generates the signal
data. 
Intensities  Matrix of intensity values for a set
of peaks that share the same separationunit range. Each row corresponds
to a separationunit value, and each column corresponds to either
a set of signals with peaks or a retention time. The number of rows
equals the number of elements in vector X . 
Tip Use the following syntaxes with data from any separation technique that produces signal data, such as spectroscopy, NMR, electrophoresis, chromatography, or mass spectrometry. 
smooths
raw noisy signal data, Yout
= mslowess(X
, Intensities
)Intensities
, using
a locally weighted linear regression (Lowess) method with a default
span of 10
samples.
Note:

Note:
When the input vector, 
mslowess(
calls X
, Intensities
,
...'PropertyName
', PropertyValue
,
...)mslowess
with optional properties
that use property name/property value pairs. You can specify one or
more properties in any order. Each PropertyName
must
be enclosed in single quotation marks and is case insensitive. These
property name/property value pairs are as follows:
specifies the order (
mslowess(..., 'Order', OrderValue
,
...)
)
of the Lowess smoother. Enter OrderValue
1
(linear polynomial
fit or Lowess), 2
(quadratic polynomial fit or
Loess), or 0
(equivalent to a weighted local mean
estimator and presumably faster because only a mean computation is
performed instead of a leastsquares regression). The default value
is 1
.
Note:
Curve Fitting Toolbox™ software also refers to Lowess smoothing
of order 
mslowess(..., 'Span',
specifies the window size for the smoothing kernel.
If SpanValue
,
...)
is greater
than SpanValue
1
, the window is equal to SpanValue
number
of samples independent of the separationunit vector, X
.
The default value is 10
samples. Higher values
will smooth the signal more at the expense of computation time. If SpanValue
is
less than 1
, the window size is taken to be a fraction
of the number of points in the data. For example, when SpanValue
is 0.005
,
the window size is equal to 0.50
% of the number
of points in X
.
mslowess(..., 'Kernel',
selects the function specified by KernelValue
,
...)KernelValue
for
weighting the observed intensities. Samples close to the separationunit
location being smoothed have the most weight in determining the estimate. KernelValue
can
be any of the following character vectors:
'tricubic'
(default) — (1
 (dist/dmax).^3).^3
'gaussian'
— exp((2*dist/dmax).^2)
'linear'
— 1dist/dmax
mslowess(..., 'RobustIterations',
specifies the number of iterations (RobustIterationsValue
,
...)
)
for a robust fit. If RobustValue
RobustIterationsValue
is 0
(default),
no robust fit is performed. For robust smoothing, small residual values
at every span are outweighed to improve the new estimate. 1
or 2
robust
iterations are usually adequate, while larger values might be computationally
expensive.
Note:
For an 
mslowess(..., 'ShowPlot',
plots the smoothed signal over the original signal.
When you call ShowPlotValue
,
...)mslowess
without output arguments,
the signals are plotted unless ShowPlotValue
is false
.
When ShowPlotValue
is true
,
only the first signal in Intensities
is
plotted. ShowPlotValue
can also contain
an index to one of the signals in Intensities
.
Load a MATfile, included with the Bioinformatics Toolbox™ software, that contains some sample data.
load sample_lo_res
Smooth the spectra and draw a figure of the first spectrum with original and smoothed signals.
YS = mslowess(MZ_lo_res,Y_lo_res,'Showplot',true);
Zoom in on a region of the figure to see the difference in the original and smoothed signals.
axis([7350 7550 0.1 1.0])