Повторно попробуйте объект данных OPC HDA, чтобы иметь определенные метки времени
NewObj = resample(DObj,NewTS)
NewObj = resample(DObj,NewTS,'linear')
NewObj = resample(DObj,NewTS,'hold')
NewObj = resample(DObj,NewTS,'nearest')
NewObj = resample(DObj,NewTS,'spline')
NewObj = resample(DObj,NewTS,'pchip')
NewObj = resample(DObj,NewTS)
производит повторную выборку данных в объекте данных OPC HDA DObj
так, чтобы все элементы объекта имели метки времени, заданные NewTS
. NewTS
должен быть вектором MATLAB® номера дат.
Если DObj
содержит элементы с тем же идентификатором элемента, эти элементы объединены в один элемент. Итак, размер NewObj
может быть меньше, чем размер DObj
.
Значения линейно интерполируются или экстраполируются на новые метки времени.
Качество для повторно дискретизированных данных устанавливается следующим образом:
Все исходные значения сохраняют свое качество.
Все интерполированные значения получают качество Interpolated: Good
.
Все экстраполированные значения получают качество Interpolated: Sub-Normal
.
NewObj = resample(DObj,NewTS,'linear')
использует линейную интерполяцию.
NewObj = resample(DObj,NewTS,'hold')
использует интерполяцию удержания нулевого порядка, где предыдущее известное значение используется для всех новых меток времени. Любая метка времени, предшествующий первому известному значению, устанавливается в NaN
(или 0
если значение является типом данных с фиксированной точкой).
NewObj = resample(DObj,NewTS,'nearest')
использует интерполяцию по ближайшему соседу, как задано в interp1
.
NewObj = resample(DObj,NewTS,'spline')
использует сплайн интерполяцию, заданную как interp1
.
NewObj = resample(DObj,NewTS,'pchip')
использует сохраняющую форму, кусочно-мудрую, кубическую интерполяцию, как задано в interp1
.
Загрузите файл примеров данных OPC HDA и повторно отобразите первый элемент hdaDataSmall
.
load opcSampleHdaData;
newTS = datenum(2010,6,1,9,30,0:10:60);
newObj = resample(hdaDataSmall(1),newTS);
Отображение значений и качеств нового объекта.
newObj.showValues