Main Content

Smooth signal with peaks using least-squares polynomial

* Yout* = mssgolay(

`X`

`Intensities`

mssgolay(

`X`

`Intensities`

`SpanValue`

mssgolay(

`X`

`Intensities`

`DegreeValue`

mssgolay(

`X`

`Intensities`

`ShowPlotValue`

`X` | Vector of separation-unit values for
a set of signals with peaks. The number of elements in the vector
equals the number of rows in the matrix .
The separation unit can quantify wavelength, frequency, distance,
time, or m/z depending on the instrument that generates the signal
data.`Intensities` |

`Intensities` | Matrix of intensity values for a set of peaks that share the
same separation-unit range. Each row corresponds to a separation-unit
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* = mssgolay(

`X`

`Intensities`

`Intensities`

`15`

samples.`mssgolay(`

calls * X*,

`Intensities`

`PropertyName`

`PropertyValue`

`mssgolay`

with optional properties
that use property name/property value pairs. You can specify one or
more properties in any order. Each `PropertyName`

```
mssgolay(
```

modifies
the frame size for the smoothing function. If * X*,

`Intensities`

`SpanValue`

`SpanValue`

`1`

, the window is the size of `SpanValue`

in
samples independent of the `X`

`SpanValue`

`1`

,
the window size is a fraction of the number of points in the input
data, `X`

`SpanValue`

`0.05`

,
the window size is equal to `5%`

of the number of
points in `X`

**Note**

The original algorithm by Savitzky and Golay assumes the input
vector, * X*, has uniformly spaced separation
units, while

`mssgolay`

also allows one that is not
uniformly spaced. Therefore, the sliding frame for smoothing is centered
using the closest samples in terms of the `X`

`X`

When the input vector, * X*, does not
have repeated values or NaN values, the algorithm is approximately
twice as fast.

When the input vector, * X*, is evenly
spaced, the least-squares fitting is performed once so that the signal
is filtered with the same coefficients, and the speed of the algorithm
increases considerably.

If the input vector, * X*, is evenly
spaced and

`SpanValue`

`1`

to include both edge samples in the frame.

`mssgolay(`

specifies
the degree of the polynomial (* X*,

`Intensities`

`DegreeValue`

`DegreeValue`

`2`

. `DegreeValue`

`SpanValue`

`mssgolay(`

plots
smoothed signals over the original. When * X*,

`Intensities`

`ShowPlotValue`

`mssgolay`

is
called without output arguments, the signals are plotted unless `ShowPlotValue`

`false`

.
When `ShowPlotValue`

`true`

,
only the first signal in `Intensities`

`ShowPlotValue`

`Intensities`

`msalign`

| `msbackadj`

| `msdotplot`

| `msheatmap`

| `mslowess`

| `msnorm`

| `mspalign`

| `mspeaks`

| `msppresample`

| `msresample`

| `mssgolay`

| `msviewer`

- Mass Spectrometry and Bioanalytics
- Preprocessing Raw Mass Spectrometry Data
- Visualizing and Preprocessing Hyphenated Mass Spectrometry Data Sets for Metabolite and Protein/Peptide Profiling
- Differential Analysis of Complex Protein and Metabolite Mixtures using Liquid Chromatography/Mass Spectrometry (LC/MS)