tsunion

Класс: данные
Пакет: 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');

См. также

| | |