синхронизация

Синхронизируйте расписания с общим временным вектором и передискретизируйте или агрегированные данные из входных расписаний

Функция synchronize собирает переменные из всех входных расписаний, синхронизирует их с общим временным вектором и возвращает результат как одно расписание. Эффект подобен горизонтальной конкатенации, хотя входные расписания могут иметь различные времена строки. Когда функция synchronize синхронизирует переменные расписания с различными временами, она также передискретизирует или агрегировала данные в переменных с помощью метода, который вы задаете.

Синтаксис

TT = synchronize(TT1,TT2)
TT = synchronize(TT1,TT2,newTimeBasis,method)
TT = synchronize(TT1,TT2,newTimeStep,method)
TT = synchronize(TT1,TT2,'regular',method,'TimeStep',dt)
TT = synchronize(TT1,TT2,'regular',method,'SampleRate',Fs)
TT = synchronize(TT1,TT2,newTimes,method)
TT = synchronize(TT1,TT2,newTimeBasis)
TT = synchronize(TT1,TT2,newTimeStep)
TT = synchronize(TT1,TT2,'regular','TimeStep',dt)
TT = synchronize(TT1,TT2,'regular','SampleRate',Fs)
TT = synchronize(TT1,TT2,newTimes)
TT = synchronize(TT1,TT2,___,Name,Value)
TT = synchronize(TT1,...,TTN,___)

Описание

пример

TT = synchronize(TT1,TT2) создает расписание, TT, который содержит все переменные и из входных расписаний TT1 и из TT2, синхронизировался с вектором времен строки, который является объединением времен строки от TT1 и TT2. Времена строки TT находятся в отсортированном порядке без повторных времен.

В действительности synchronize горизонтально конкатенирует переменные TT1 и TT2, даже когда у них есть времена строки, которые отличаются. В результате synchronize вставляет индикатор недостающих данных в TT везде, где это имеет:

  • Время строки только от TT1, но никаких соответствующих данных из переменных TT2.

  • Время строки только от TT2, но никаких соответствующих данных из переменных TT1.

Если TT1 и TT2 имеют переменные с теми же именами, то synchronize переименовывает их и копирует обе переменные в TT.

Чтобы интерполировать или заполнить значения в TT с помощью различных методов для различных переменных, задайте свойство VariableContinuity каждого входного расписания. Для получения дополнительной информации смотрите, Повторно синхронизируют и Синхронизируют Переменные Расписания Используя Различные Методы.

пример

TT = synchronize(TT1,TT2,newTimeBasis,method) создает TT путем синхронизации переменных из TT1 и TT2 к новому временному вектору, заданному newTimeBasis. synchronize передискретизирует или агрегировал данные из переменных в TT1 и TT2 с помощью операции, заданной method. Входной параметр, newTimeBasis, задает, как synchronize создает времена строки TT со времен строки TT1 и TT2.

Например, если newTimeBasis является 'union', и method является 'linear', то TT содержит времена строки от TT1 и TT2, и synchronize использует линейную интерполяцию, чтобы передискретизировать данные от входных расписаний до выходных времен строки.

пример

TT = synchronize(TT1,TT2,newTimeStep,method) создает TT путем синхронизации переменных из TT1 и TT2 к новому временному вектору, который расположен с равными интервалами единицей измерения времени, заданной newTimeStep.

Например, если newTimeStep является 'daily', и method является 'mean', то TT содержит времена строки, которые на расстоянии в один день, и TT содержит среднесуточные значения для каждой переменной из TT1 и TT2.

пример

TT = synchronize(TT1,TT2,'regular',method,'TimeStep',dt) использует временной шаг dt, чтобы вычислить расположенные с равными интервалами времена строки. dt является скалярной длительностью или календарной длительностью. Времена строки TT порождают линейную оболочку столбцов времен строки TT1 и TT2.

TT = synchronize(TT1,TT2,'regular',method,'SampleRate',Fs) использует частоту дискретизации Fs, чтобы вычислить расположенные с равными интервалами времена строки. Fs является положительным числовым скаляром, который задает количество выборок в секунду (Гц).

пример

TT = synchronize(TT1,TT2,newTimes,method) создает TT путем синхронизации переменных из TT1 и TT2 к newTimes, datetime или вектору длительности уникальных, отсортированных времен, которые вы задаете. Времена в newTimes становятся временами строки TT.

пример

TT = synchronize(TT1,TT2,newTimeBasis) создает TT путем синхронизации переменных из TT1 и TT2 к новому временному вектору. synchronize вставляет индикаторы недостающих данных при необходимости в TT.

пример

TT = synchronize(TT1,TT2,newTimeStep) создает TT путем синхронизации переменных из TT1 и TT2 к новому временному вектору, который расположен с равными интервалами единицей измерения времени, заданной newTimeStep. Функция synchronize вставляет индикаторы недостающих данных при необходимости в TT.

TT = synchronize(TT1,TT2,'regular','TimeStep',dt) использует временной шаг dt, чтобы вычислить расположенные с равными интервалами времена строки. dt является скалярной длительностью или календарной длительностью. Времена строки TT порождают линейную оболочку столбцов времен строки TT1 и TT2.

TT = synchronize(TT1,TT2,'regular','SampleRate',Fs) использует частоту дискретизации Fs, чтобы вычислить расположенные с равными интервалами времена строки. Fs является положительным числовым скаляром, который задает количество выборок в секунду (Гц).

TT = synchronize(TT1,TT2,newTimes) создает TT путем синхронизации переменных из TT1 и TT2 к временному вектору, newTimes. Функция synchronize вставляет индикаторы недостающих данных при необходимости в TT.

TT = synchronize(TT1,TT2,___,Name,Value) синхронизирует расписания с дополнительными опциями, заданными одной или несколькими парами Name,Value. Можно использовать этот синтаксис с входными параметрами любого из предыдущих синтаксисов.

TT = synchronize(TT1,...,TTN,___) создает расписание, TT, путем синхронизации расписаний N TT1,...,TTN. Можно использовать этот синтаксис с входными параметрами любого из предыдущих синтаксисов.

Примеры

свернуть все

Загрузите два демонстрационных расписания из файла. Затем синхронизируйте их данные с вектором новых времен строки.

load smallTT

Отобразите расписания. TT1 имеет времена строки, которые не работают. TT1 и TT2 имеют различные переменные.

TT1
TT1=3×2 timetable
            Time            Temp
    ____________________    ____

    18-Dec-2015 12:00:00    42.3
    18-Dec-2015 08:00:00    37.3
    18-Dec-2015 10:00:00    39.1

TT2
TT2=3×2 timetable
            Time            Pressure
    ____________________    ________

    18-Dec-2015 09:00:00      30.1  
    18-Dec-2015 11:00:00     30.03  
    18-Dec-2015 13:00:00      29.9  

Синхронизируйте TT1 и TT2. Выходное расписание, TT, содержит все времена строки из обоих расписаний в отсортированном порядке. В TT Temp содержит NaN в течение времен строки от TT2, и Pressure содержит NaN в течение времен строки от TT1.

TT = synchronize(TT1,TT2)
TT=6×3 timetable
            Time            Temp    Pressure
    ____________________    ____    ________

    18-Dec-2015 08:00:00    37.3       NaN  
    18-Dec-2015 09:00:00     NaN      30.1  
    18-Dec-2015 10:00:00    39.1       NaN  
    18-Dec-2015 11:00:00     NaN     30.03  
    18-Dec-2015 12:00:00    42.3       NaN  
    18-Dec-2015 13:00:00     NaN      29.9  

Загрузите два демонстрационных расписания, которые содержат погодные измерения. Синхронизируйте их данные с объединением времен строки из расписаний.

load firstTT

Отобразите расписания.

TT1
TT1=3×2 timetable
            Time            Temp
    ____________________    ____

    06-Jun-2016 15:00:00    79.7
    06-Jun-2016 16:00:00    76.3
    06-Jun-2016 17:00:00    74.9

TT2
TT2=4×2 timetable
            Time            Humidity
    ____________________    ________

    06-Jun-2016 14:35:48      49.7  
    06-Jun-2016 15:35:48      52.2  
    06-Jun-2016 16:35:48      56.7  
    06-Jun-2016 17:35:48        60  

Синхронизируйте расписания. Чтобы выбрать объединение времен строки, задайте 'union'. Чтобы передискретизировать TT1.Temp и TT2.Humidity с помощью линейной интерполяции, задайте 'linear'.

TT = synchronize(TT1,TT2,'union','linear')
TT=7×3 timetable
            Time             Temp     Humidity
    ____________________    ______    ________

    06-Jun-2016 14:35:48    81.071       49.7 
    06-Jun-2016 15:00:00      79.7     50.708 
    06-Jun-2016 15:35:48    77.671       52.2 
    06-Jun-2016 16:00:00      76.3     54.014 
    06-Jun-2016 16:35:48    75.464       56.7 
    06-Jun-2016 17:00:00      74.9      58.03 
    06-Jun-2016 17:35:48    74.064         60 

Синхронизируйте два расписания с новыми временами строки, которые задают временные интервалы что каждый промежуток день. Агрегируйте данные из входных расписаний в ежедневные временные интервалы.

Загрузите демонстрационные расписания, которые содержат два различных набора экологических измерений, indoors и outdoors. Данные о качестве воздуха прибывают из датчика в создании, в то время как погодные измерения прибывают из датчиков снаружи. Расписания включают измерения, проведенные с 15 ноября 2015 до 19 ноября 2015.

load indoors
load outdoors

Отобразите первые три строки каждого расписания. Они не содержат те же времена строки или переменные.

indoors(1:3,:)
ans=3×3 timetable
           Time            Humidity    AirQuality
    ___________________    ________    __________

    2015-11-15 00:00:24       36           80    
    2015-11-15 01:13:35       36           80    
    2015-11-15 02:26:47       37           79    

outdoors(1:3,:)
ans=3×4 timetable
           Time            Humidity    TemperatureF    PressureHg
    ___________________    ________    ____________    __________

    2015-11-15 00:00:24        49          51.3          29.61   
    2015-11-15 01:30:24      48.9          51.5          29.61   
    2015-11-15 03:00:24      48.9          51.5          29.61   

Агрегируйте данные из расписаний в ежедневные временные интервалы с помощью функции synchronize. Задайте 'daily', чтобы агрегировать данные во временные интервалы, которые охватывают один день за штуку. Задайте 'mean', чтобы получить средние значения в каждом временном интервале для каждой переменной.

TT = synchronize(indoors,outdoors,'daily','mean');
TT(1:3,:)
ans=3×6 timetable
           Time            Humidity_indoors    AirQuality    Humidity_outdoors    TemperatureF    PressureHg
    ___________________    ________________    __________    _________________    ____________    __________

    2015-11-15 00:00:00          36.5            80.05            48.931             51.394         29.607  
    2015-11-16 00:00:00         36.85            80.35            47.924             51.571         29.611  
    2015-11-17 00:00:00         36.85            79.45             48.45             51.238         29.613  

Синхронизируйте два маленьких расписания с погодными измерениями к набору регулярных времен строки, которые охватывают времена строки во входных расписаниях. Задайте временной шаг как интервал между временами строки подряд в выходном расписании. Используйте линейную интерполяцию, чтобы передискретизировать данные в течение многих времен во временном векторе, которые не совпадают с временами строки из входных расписаний.

Во-первых, загрузите эти два расписания.

load indoors
load outdoors

Отобразите первые три строки каждого расписания. Они не содержат те же времена строки или переменные.

indoors(1:3,:)
ans=3×3 timetable
           Time            Humidity    AirQuality
    ___________________    ________    __________

    2015-11-15 00:00:24       36           80    
    2015-11-15 01:13:35       36           80    
    2015-11-15 02:26:47       37           79    

outdoors(1:3,:)
ans=3×4 timetable
           Time            Humidity    TemperatureF    PressureHg
    ___________________    ________    ____________    __________

    2015-11-15 00:00:24        49          51.3          29.61   
    2015-11-15 01:30:24      48.9          51.5          29.61   
    2015-11-15 03:00:24      48.9          51.5          29.61   

Агрегируйте данные из расписаний в 30-минутные временные интервалы с помощью функции synchronize. Задайте шаг постоянного времени с помощью входного параметра 'regular' и аргумента пары "имя-значение" 'TimeStep'. Можно использовать эти аргументы, чтобы создать расписание, которое обычно, но чей временной шаг не является предопределенным шагом, таким как 'hourly'.

TT = synchronize(indoors,outdoors,'regular','linear','TimeStep',minutes(30));
TT(1:3,:)
ans=3×6 timetable
           Time            Humidity_indoors    AirQuality    Humidity_outdoors    TemperatureF    PressureHg
    ___________________    ________________    __________    _________________    ____________    __________

    2015-11-15 00:00:00           36               80                 49             51.299         29.61   
    2015-11-15 00:30:00           36               80             48.967             51.366         29.61   
    2015-11-15 01:00:00           36               80             48.934             51.432         29.61   

Синхронизируйте два маленьких расписания с погодными измерениями к вектору произвольного момента времени. Используйте линейную интерполяцию, чтобы передискретизировать данные в течение многих времен во временном векторе, которые не совпадают с временами строки из входных расписаний.

Загрузите два маленьких расписания с временами строки для измерений, проведенных в получасовой метке. Однако в каждом расписании, существует время строки для данных, которые не были собраны в получасовой метке. Оба расписания неправильны, что означает, что временной шаг отличается между временами строки подряд.

load halfHoursTT

Отобразите расписания. TT1 и TT2 имеют три строки и различные переменные.

TT1
TT1=3×2 timetable
            Time            Temp
    ____________________    ____

    18-Dec-2015 08:30:00    47.6
    18-Dec-2015 09:30:00    49.2
    18-Dec-2015 10:47:23    51.4

TT2
TT2=3×2 timetable
            Time            Pressure
    ____________________    ________

    18-Dec-2015 07:00:00      29.7  
    18-Dec-2015 09:30:00     30.03  
    18-Dec-2015 10:30:00      29.9  

Задайте временной вектор, который включает некоторые времена строки из каждого расписания.

newTimes = datetime('2015-12-18 08:30:00') + hours(0:1:2)
newTimes = 1x3 datetime array
   18-Dec-2015 08:30:00   18-Dec-2015 09:30:00   18-Dec-2015 10:30:00

Синхронизируйте TT1 и TT2 к newTimes. Вектор newTimes имеет времена, которые не являются временами строки TT1 или TT2. Чтобы интерполировать значения данных в течение многих времен в newTimes, которые не совпадают с временами строки в TT1 или TT2, задайте 'linear'.

TT = synchronize(TT1,TT2,newTimes,'linear')
TT=3×3 timetable
            Time             Temp     Pressure
    ____________________    ______    ________

    18-Dec-2015 08:30:00      47.6     29.898 
    18-Dec-2015 09:30:00      49.2      30.03 
    18-Dec-2015 10:30:00    50.906       29.9 

Загрузите два демонстрационных расписания и синхронизируйте их данные с вектором времен строки, которые они имеют общего.

load intersectTT

Отобразите расписания. TT1 и TT2 имеют три строки и различные переменные.

TT1
TT1=3×2 timetable
            Time            Temp
    ____________________    ____

    18-Dec-2015 08:00:00    37.3
    18-Dec-2015 10:00:00    39.1
    18-Dec-2015 12:00:00    42.3

TT2
TT2=3×2 timetable
            Time            Pressure
    ____________________    ________

    18-Dec-2015 06:00:00      30.1  
    18-Dec-2015 08:00:00     30.03  
    18-Dec-2015 10:00:00      29.9  

Синхронизируйте TT1 и TT2, задавая 'intersection' как основание в течение времен строки выходного расписания. TT имеет только две строки, потому что у TT1 и TT2 есть только два раза строки общий.

TT = synchronize(TT1,TT2,'intersection')
TT=2×3 timetable
            Time            Temp    Pressure
    ____________________    ____    ________

    18-Dec-2015 08:00:00    37.3     30.03  
    18-Dec-2015 10:00:00    39.1      29.9  

Нет никакой потребности интерполировать или заполнить несопоставленные строки, потому что TT1 и TT2 оба имеют данные в течение времен строки, которые они имеют общего.

Синхронизируйте два маленьких расписания с погодными измерениями к почасовому временному вектору.

Загрузите два маленьких расписания. В каждом расписании существует время строки для данных, которые не были собраны по часу. Оба расписания неправильны, что означает, что временной шаг отличается между временами строки подряд.

load irregularTT

Отобразите расписания. TT1 и TT2 имеют три строки и различные переменные.

TT1
TT1=3×2 timetable
            Time            Temp
    ____________________    ____

    18-Dec-2015 08:00:00    37.3
    18-Dec-2015 09:11:17    39.1
    18-Dec-2015 10:00:00    42.3

TT2
TT2=3×2 timetable
            Time            Pressure
    ____________________    ________

    18-Dec-2015 08:00:00      29.8  
    18-Dec-2015 09:27:23      29.7  
    18-Dec-2015 10:00:00      30.3  

Синхронизируйте TT1 и TT2, задавая 'hourly' как временной шаг в течение времен строки выходного расписания. TT имеет данные из TT1 и TT2, где у них есть времена строки, которые находятся на часе. TT имеет индикаторы недостающих данных, где он имеет время строки, когда TT1 и TT2 не имеют.

TT = synchronize(TT1,TT2,'hourly')
TT=3×3 timetable
            Time            Temp    Pressure
    ____________________    ____    ________

    18-Dec-2015 08:00:00    37.3      29.8  
    18-Dec-2015 09:00:00     NaN       NaN  
    18-Dec-2015 10:00:00    42.3      30.3  

Синхронизируйте два расписания. Примените метод mean к некоторым переменным расписания и метод sum другим.

Загрузите два маленьких расписания, которые содержат погодные измерения для Бостона и Натика. Каждое расписание содержит показания ливня и температура.

load citiesTT
Boston
Boston=6×3 timetable
           Time            Temp    Rain
    ___________________    ____    ____

    2016-06-09 06:03:00    59.5    0.05
    2016-06-09 12:00:23      63    0.08
    2016-06-09 18:02:57    61.7    0.13
    2016-06-10 06:01:47    55.4    0.15
    2016-06-10 12:06:00    62.3    0.87
    2016-06-10 18:02:57    58.8    0.33

Natick
Natick=5×3 timetable
           Time            Temp     Rain 
    ___________________    _____    _____

    2016-06-09 12:00:23     61.2    0.076
    2016-06-09 17:59:00     60.3     0.11
    2016-06-10 09:03:01     56.1     0.19
    2016-06-10 12:07:03    62.17     0.72
    2016-06-10 17:59:57     58.3      0.1

Синхронизируйте измерения с ежедневными временами, чтобы произвести средние температуры и суммы измерений ливня. synchronize применяет заданный метод ко всем переменным расписания. Чтобы применить различные методы к различным переменным расписания, индексируйте в расписания, чтобы выбрать различные переменные и вызвать synchronize для каждого метода, который вы используете.

BOS = Boston(:,'Temp');
NTK = Natick(:,'Temp');
TT1 = synchronize(BOS,NTK,'daily','mean')
TT1=2×3 timetable
           Time            Temp_BOS    Temp_NTK
    ___________________    ________    ________

    2016-06-09 00:00:00       61.4       60.75 
    2016-06-10 00:00:00     58.833      58.857 

BOS = Boston(:,'Rain');
NTK = Natick(:,'Rain');
TT2 = synchronize(BOS,NTK,'daily','sum')
TT2=2×3 timetable
           Time            Rain_BOS    Rain_NTK
    ___________________    ________    ________

    2016-06-09 00:00:00      0.26       0.186  
    2016-06-10 00:00:00      1.35        1.01  

Чтобы объединить все результаты в одном расписании, конкатенируйте TT1 и TT2.

TT = [TT1 TT2]
TT=2×5 timetable
           Time            Temp_BOS    Temp_NTK    Rain_BOS    Rain_NTK
    ___________________    ________    ________    ________    ________

    2016-06-09 00:00:00       61.4       60.75       0.26       0.186  
    2016-06-10 00:00:00     58.833      58.857       1.35        1.01  

Входные параметры

свернуть все

Введите расписания.

Основание в течение вычислительных времен строки выходного расписания, заданного как вектор символов. newTimeBasis может быть любым из перечисленных методов.

Метод

Описание

'union' (значение по умолчанию)

Объединение времен строки

'intersection'

Пересечение времен строки

'commonrange'

Объединение времен строки, но по пересечению областей значений времени

'first'

Времена строки из первого входного расписания только

'last'

Времена строки из последнего входного расписания только

Временной шаг для разрядки времен в выходном расписании, заданном как вектор символов. newTimeStep может быть любым из перечисленных временных шагов.

Временной шаг

Описание

'yearly'

Один год

'quarterly'

Одна четверть

'monthly'

Один месяц

'weekly'

Одна неделя

'daily'

Однажды

'hourly'

Один час

'minutely'

Одна минута

'secondly'

Одна секунда

Первый раз строки TT в начале единицы измерения времени, которая включает самое раннее время строки из входных расписаний. Область значений времен строки в TT покрывает область значений времен строки от TT1 и TT2. Однако TT не может включать ни одно из фактических времен строки от TT1 или TT2, поскольку у них могут быть времена строки, которые не являются в начале никакой единицы измерения времени.

Частота дискретизации, заданная в виде положительного числа. Fs задает количество выборок в секунду (Гц).

Временной шаг, заданный как скаляр datetime или скаляр длительности.

Типы данных: datetime | duration | calendarDuration

Новый временной вектор, заданный как вектор datetime или вектор длительности. Новый временной вектор должен быть вектор-столбцом. newTimes может иметь различное количество строк, чем любое из входных расписаний.

Метод для корректировки данных о расписании, заданных как вектор символов, представляет в виде строки скаляр или указатель на функцию. Можно использовать любой из перечисленных методов, чтобы настроить данные из входных расписаний.

Методы заполнения

Скопируйте данные из строк каждого входного расписания, когда времена строки выходного расписания будут совпадать с временами строки соответствующего входа. Затем заполните остающиеся элементы выходного расписания с индикаторами недостающих данных.

Чтобы заполнить остающиеся элементы с константой вместо индикатора недостающих данных, используйте аргумент пары "имя-значение" 'Constant'.

Метод

Описание

'fillwithmissing' (значение по умолчанию)

Заполните разрывы в выводе с индикаторами недостающих данных (например, NaN для числовых переменных).

'fillwithconstant'

Заполните разрывы в выводе со значением аргумента пары "имя-значение" 'Constant'. Значением по умолчанию является 0.

Самые близкие соседние методы

Скопируйте данные из строк входных расписаний, чтобы вывести строки расписания, времена строки которых являются самым близким соответствием, согласно заданному методу. Входные расписания должны быть отсортированы по временам строки.

Метод

Описание

'previous'

Скопируйте данные от самого близкого предыдущего соседа во входном расписании, происхождение конца вектора времен строки. Если существуют времена дублирующейся строки, то 'previous' указывает на последнюю из копий.

'next'

Скопируйте данные от самого близкого следующего соседа во входном расписании, происхождение начала вектора времен строки. Если существуют времена дублирующейся строки, то 'next' указывает на первую из копий.

'nearest'

Скопируйте данные от самого близкого соседа во входном расписании.

Методы интерполяции

Интерполируйте значения данных в выходном расписании от значений данных в соседних строках входных расписаний. Входные расписания должны иметь времена строки, которые сортируются и уникальны. Чтобы управлять, как данные экстраполируются вне первых и последних времен строки входных расписаний, используйте аргумент пары "имя-значение" 'EndValues'.

Метод

Описание

'linear'

Используйте линейную интерполяцию.

'spline'

Используйте кусочную интерполяцию кубическим сплайном.

'pchip'

Используйте сохраняющую форму кусочную кубичную интерполяцию.

'makima'

Используйте измененного Акима кубическая интерполяция Эрмита.

Методы агрегации

Агрегированные данные из строк входных расписаний в зависимости от времени интервалы заданы временами строки выходного расписания. Каждый раз строки TT является левым краем временного интервала со следующим разом строки подряд, будучи правым краем. По умолчанию левые края включены во временные интервалы. Чтобы управлять, включены ли левые или правильные ребра интервала во временные интервалы, используйте аргумент пары "имя-значение" 'IncludedEdge'.

Если вы задаете временной вектор, newTimes, то newTimes должен быть отсортирован в порядке возрастания. Если вы задаете основание времени выходного расписания как 'first' или 'last', то времена строки или первого или последнего расписания должны быть отсортированы в порядке возрастания.

Все перечисленные методы не используют NaN s, NaT s и другие индикаторы недостающих данных, за исключением func. Чтобы включать индикаторы недостающих данных, задайте func как указатель на функцию к функции, которая включает их при агрегации данных.

Метод

Описание

'sum'

Суммируйте значения в каждом временном интервале.

'mean'

Вычислите среднее значение значений в каждом временном интервале.

'prod'

Вычислите продукт значений в каждом временном интервале.

'min'

Вычислите минимум значений в каждом временном интервале.

'max'

Вычислите максимум значений в каждом временном интервале.

'count'

Считайте количество значений в каждом временном интервале.

'firstvalue'

Используйте первое значение в каждом временном интервале.

'lastvalue'

Используйте последнее значение в каждом временном интервале.

@func

Используйте функцию, заданную указателем на функцию (например, @std, чтобы вычислить стандартное отклонение для значений в каждом временном интервале). func должен возвратить выходной аргумент, который является скаляром или вектором - строкой, и должен принять пустые входные параметры.

Метод по умолчанию

Метод по умолчанию эквивалентен отъезду незаданного method.

Метод

Описание

'default' (значение по умолчанию)

Или заполните разрывы с индикаторами недостающих данных или используйте методы на переменную, если они заданы как свойство VariableContinuity входных расписаний.

Аргументы в виде пар имя-значение

Укажите необязательные аргументы в виде пар ""имя, значение"", разделенных запятыми. Имя (Name) — это имя аргумента, а значение (Value) — соответствующее значение. Name должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN.

Пример: TT = synchronize(TT1,TT2,newTimes,'fillwithconstant','Constant',-1) синхронизирует расписания TT1 и TT2 и присваивает значение -1 элементам в строках TT с временами строки, которые не совпадают с временами строки в соответствующих входных расписаниях.

Значение для заполнения разрывает, когда методом является 'fillwithconstant', заданный как пара, разделенная запятой, состоящая из 'Constant' и массива. Значением по умолчанию является 0. Тип данных значения, заданного 'Constant', должен быть совместим с типами данных переменных расписания.

Пример: TT = synchronize(TT1,TT2,'hourly','fillwithconstant','Constant','NONE') заполняет разрывы в TT с вектором символов 'NONE', когда все переменные в TT содержат текст.

Метод для экстраполяции при использовании метода интерполяции, заданного как пара, разделенная запятой, состоящая из 'EndValues' и или 'extrap' или массив. Если вы задаете массив, то его тип данных должен быть совместим с переменными расписания.

Метод

Описание

'extrap' (значение по умолчанию)

Экстраполируйте использование метода, заданного входным параметром method

массив

Экстраполируйте путем заполнения разрывов вне области значений входных времен строки с массивом

Пример: TT = synchronize(TT1,TT2,'daily','previous','EndValues',1000) заполняет разрывы в TT с предыдущими значениями строки, где TT имеет времена строки в области значений времен строки от TT1 и TT2, и со значением 1000, где TT имеет времена строки вне той области значений.

Ребра, чтобы включать в каждый временной интервал, заданный как пара, разделенная запятой, состоящая из 'IncludedEdge' и или 'left' или 'right'. Каждый раз строки TT является левым краем временного интервала со следующим разом строки подряд, будучи правым краем.

Ребра, чтобы включать

Описание

'left' (значение по умолчанию)

Все интервалы включают левое ребро интервала, за исключением последнего интервала, который включает оба ребра

'right'

Все интервалы включают правильное ребро интервала, за исключением первого интервала, который включает оба ребра

Если вы задаете 'left', то временные интервалы включают левые края за исключением последнего интервала, который включает оба ребра. Если вы задаете 'right', то временные интервалы включают правые края за исключением первого интервала, который включает оба ребра.

Пример: TT = synchronize(TT1,TT2,'hourly','mean','IncludedEdge','right') включает правильное ребро интервала каждого временного интервала.

Вопросы совместимости

развернуть все

Не рекомендуемый запуск в R2018b

Расширенные возможности

Введенный в R2017b