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, либо времени удержания. Количество строк равняется количеству элементов в векторе 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-файл, включенный в 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);

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