mssgolay

Сглаженный сигнал с peaks с помощью полинома наименьших квадратов

Синтаксис

Yout = mssgolay(X, Intensities)
mssgolay(X, Intensities, ...'Span', SpanValue, ...)
mssgolay(X, Intensities, ...'Degree', DegreeValue, ...)
mssgolay(X, Intensities, ...'ShowPlot', ShowPlotValue, ...)

Аргументы

XВектор разделительных стоимостей единицы для набора сигналов с peaks. Число элементов в векторе равняется количеству строк в матричном Intensities. Разделительный модуль может определить количество длины волны, частоты, расстояния, время или m/z в зависимости от инструмента, который генерирует данные сигнала.
Intensities Матрица значений интенсивности для набора peaks, который совместно использует ту же область значений разделительного модуля. Каждая строка соответствует разделительной стоимости единицы, и каждый столбец соответствует или набору сигналов с peaks или время задержания. Количество строк равняется числу элементов в векторном X.

Описание

Совет

Используйте следующие синтаксисы с данными из любого разделительного метода, который производит данные сигнала, такие как спектроскопия, NMR, электрофорез, хроматография или масс-спектрометрия.

Yout = mssgolay(X, Intensities) сглаживает необработанные данные о сигнале с шумом, Intensities, с помощью наименьшие квадраты цифровой полиномиальный фильтр (Savitzky и фильтры Golay). Промежуток по умолчанию или кадр являются выборками 15.

mssgolay(X, Intensities, ...'PropertyName', PropertyValue, ...) вызывает mssgolay с дополнительными свойствами, которые используют имя свойства / пары значения свойства. Можно задать одно или несколько свойств в любом порядке. Каждый PropertyName должен быть заключен в одинарные кавычки и нечувствительный к регистру. Это имя свойства / пары значения свойства следующие:

mssgolay(X, Intensities, ...'Span', SpanValue, ...) изменяет формат кадра для функции сглаживания. Если SpanValue больше, чем 1, окно является размером SpanValue в выборках, независимых от вектора X. Более высокие значения сглаживают сигнал больше с увеличением во время вычисления. Если SpanValue является меньше, чем 1, размер окна является частью числа точек во входных данных, X. Например, если SpanValue является 0.05, размер окна равен 5% числа точек в X.

Примечание

Исходный алгоритм Savitzky и Golay принимает, что входной вектор, X, однородно расположил разделительные модули с интервалами, в то время как mssgolay также позволяет тот, который однородно не расположен с интервалами. Поэтому скользящий кадр для сглаживания сосредоточен с помощью самых близких выборок с точки зрения значения X а не с точки зрения индекса X.

Когда входной вектор, X, не имеет повторенных значений или значений NaN, алгоритм приблизительно вдвое более быстр.

Когда входной вектор, X, равномерно расположен с интервалами, подбор кривой наименьших квадратов выполняется однажды так, чтобы сигнал был отфильтрован с теми же коэффициентами, и скорость алгоритма значительно увеличивается.

Если входной вектор, X, равномерно расположен с интервалами, и SpanValue даже, промежуток постепенно увеличивается 1, чтобы включать обе выборки ребра в кадр.

mssgolay(X, Intensities, ...'Degree', DegreeValue, ...) задает степень полинома (DegreeValue), адаптированный к точкам в движущемся кадре. Значением по умолчанию является 2. DegreeValue должен быть меньшим, чем SpanValue.

mssgolay(X, Intensities, ...'ShowPlot', ShowPlotValue, ...) графики сглаживали сигналы по оригиналу. Когда mssgolay называется без выходных аргументов, сигналы построены, если ShowPlotValue не является false. Когда ShowPlotValue является true, только первый сигнал в Intensities построен. ShowPlotValue может также содержать индекс к одному из сигналов в Intensities.

Примеры

свернуть все

Этот пример показывает, как сглаживать данные о масс-спектрометрии с помощью подхода полинома наименьших квадратов.

Загрузите MAT-файл, включенный с Bioinformatics Toolbox™, который содержит данные о масс-спектрометрии включая MZ_lo_res, вектор m/z значений для набора спектров, и Y_lo_res, матрицу значений интенсивности для набора массовых спектров, которые совместно используют тот же заряд m/z.

load sample_lo_res

Примените полином наименьших квадратов, сглаживающий к данным.

YS = mssgolay(MZ_lo_res, Y_lo_res);

Постройте третью выборку/спектрограмму в Y_lo_res и его сглаживавший сигнал.

mssgolay(MZ_lo_res,Y_lo_res,'SHOWPLOT',3);

Представлено до R2006a