exponenta event banner

mssgolay

Плавный сигнал с пиками с использованием многочлена наименьших квадратов

Синтаксис

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

Аргументы

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

Описание

Совет

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

Yout = mssgolay(X, Intensities) сглаживает данные необработанного шумного сигнала, Intensities, используя цифровой полиномиальный фильтр наименьших квадратов (фильтры Савицки и Голея). Диапазон или рамка по умолчанию: 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.

Примечание

Исходный алгоритм Савицки и Голая предполагает входной вектор, 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-файл, включенный в 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);

Figure contains an axes. The axes with title Signal ID: 3 contains 2 objects of type line. These objects represent Original signal, Smoothed signal.

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