Мне нужен ваш опыт для решения проблемы.У меня есть следующая матрица с разными столбцами.
Time subsamp raw filt_BG filter
230.5382060 1 1 1 0
230.5382176 2 1 1 0
230.5382292 1 4 0 1
230.5382407 2 4 0 1
230.5382523 1 3 0 1
230.5382639 2 3 0 1
230.5382755 1 2 1 0
230.5382870 2 2 1 0
230.5382986 1 2 0 1
230.5383102 2 2 0 1
230.5383218 1 1 0 1
230.5383333 2 1 0 1
230.5383449 1 3 1 0
230.5383565 2 3 1 0
Она содержит два разных типа необработанных данных (столбец 3).Каждый тип необработанных данных не имеет одинакового номера.подвыборки (столбец 2).«Filter_BG» и «фильтр» разделяют тип данных.Я пытаюсь объяснить проблему и требуемое решение с помощью следующей диаграммы. На приведенной выше диаграмме (слева) необработанные данные представлены в виде функции времени.Цвета представляют разные окна (подвыборки) 'sig' и 'BG' на основе 'filter' и 'filter_BG', соответственно.Я хочу выполнить интерполяцию из окна «BG1» в окно «BG2» (от выборки до выборки), чтобы интерполированные данные можно было вычитать (от выборки до выборки) из «sig1» и «sig2».Аналогично от «BG2» до «BG3» интерполяция и вычитание из «sig3» и «sig4».Это дает мне «solution1» (вверху справа).Теперь, если «BG3» не существует, я хочу использовать только «BG2» для вычитания из «sig3» и «sig4» (решение2, внизу справа).Матрица решения будет выглядеть примерно так.Спасибо за ваши идеи / решение. !!!Пожалуйста, имейте в виду, что у меня будут миллионы точек данных, не таких простых, как описано здесь.Кроме того, у меня нет набора инструментов, а есть только доступный matlab.Любое решение, основанное на наборе инструментов, тоже подойдет.
Time subsamp solution1 solution2
230.5382060 1 NaN NaN
230.5382176 2 NaN NaN
230.5382292 1 2.5 2.5
230.5382407 2 2.5 2.5
230.5382523 1 1.5 1.5
230.5382639 2 1.5 1.5
230.5382755 1 NaN NaN
230.5382870 2 NaN NaN
230.5382986 1 -0.5 0
230.5383102 2 -0.5 0
230.5383218 1 -1.5 -1
230.5383333 2 -1.5 -1
230.5383449 1 NaN NaN
230.5383565 2 NaN NaN
С наилучшими пожеланиями