Класс: данные
Пакет: opc.hda
Объединение меток времени в объект данных OPC HDA
NewObj = tsunion(DObj)
NewObj = tsunion(DObj,'linear')
NewObj = tsunion(DObj,'hold')
NewObj = tsunion(DObj,'nearest')
NewObj = tsunion(DObj,'spline')
NewObj = tsunion(DObj,'pchip')
NewObj = tsunion(DObj)
объединяет метки времени всех элементов (элементов) в объекте данных DObj
, так что каждый элемент NewObj
имеет один и тот же вектор метки времени, соответствующий всем возможным меткам времени во всех элементах DObj
. Для каждого элемента значения линейно интерполируются или экстраполируются, где эта метка времени не существует для элемента (элемента объекта данные).
Если DObj
содержит элементы с тем же идентификатором элемента, эти элементы объединены в один элемент. Итак, размер NewObj
может быть меньше, чем размер DObj
.
Качество для повторно дискретизированных данных устанавливается следующим образом:
Все исходные значения сохраняют свое качество.
Все интерполированные значения получают качество Interpolated: Good
.
Все экстраполированные значения получают качество Interpolated: Sub-Normal
.
NewObj = tsunion(DObj,'linear')
использует линейную интерполяцию.
NewObj = tsunion(DObj,'hold')
использует интерполяцию удержания нулевого порядка, где предыдущее известное значение используется для всех новых меток времени. Любая метка времени, предшествующий первому известному значению, устанавливается в NaN
(или 0
если значение является типом данных с фиксированной точкой).
NewObj = tsunion(DObj,'nearest')
использует интерполяцию по ближайшему соседу, как задано в interp1
.
NewObj = tsunion(DObj,'spline')
использует сплайн интерполяцию, заданную как interp1
.
NewObj = tsunion(DObj,'pchip')
использует сохраняющую форму, кусочно-мудрую, кубическую интерполяцию, как задано в interp1
.
Для объектов данных, содержащих значения векторов символов, только 'hold'
может быть использован метод.
Загрузите файл примеров данных OPC HDA и найдите метку времени объединение hdaDataSmall
:
load opcSampleHdaData;
newObj = tsunion(hdaDataSmall);
Найдите объединение используя 'hold'
повторная дискретизация:
newObjHold = tsunion(hdaDataSmall, 'hold');
interp1
| resample
| showValues
| tsintersect