mssgolay

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

Синтаксис

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, IntensitiesPropertyName ', 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

Для просмотра документации необходимо авторизоваться на сайте