Массив расписания со строками с меткой времени и переменными различных типов
timetable
тип таблицы, которая сопоставляет время с каждой строкой. Как таблицы, расписания хранят переменные данных в столбцах, которые могут иметь различные типы данных и размеры, пока у них есть одинаковое число строк. Кроме того, расписания обеспечивают специфичные для времени функции, чтобы выровнять, объединить, и выполнить вычисления с данными с меткой времени в одном или нескольких расписаниях.
Временами строки расписания является datetime
или duration
значения, которые помечают строки. Можно индексировать в расписание ко времени строки и переменной. Чтобы индексировать в расписание, используйте сглаженные круглые скобки ()
возвратить подтаблицу или фигурные скобки {}
извлекать содержимое. Можно сослаться на переменные и вектор времен строки с помощью имен. Для получения дополнительной информации об индексации смотрите, Выбирают Times in Timetable и Access Data in Tables.
Чтобы создать расписание, можно считать данные из файла в таблицу с помощью readtimetable
функция, или можно преобразовать переменные, имеющие другие типы данных.
Преобразовывать:
Массив, используйте array2timetable
функция.
Таблица, используйте table2timetable
функция.
timeseries
объект, используйте timeseries2timetable
функция.
Simulink® пользователи могут извлечь данные из Simulink.SimulationData.Dataset
объект при помощи extractTimetable
(Simulink) функция.
В качестве альтернативы можно использовать timetable
функция, описанная ниже. Создайте расписание из входных массивов или предварительно выделите место для переменных, значения которых заполнены в позже. Чтобы задать времена строки, можно или использовать входной вектор времен строки или создать времена строки при помощи частоты дискретизации или временного шага.
TT = timetable(
создает расписание из переменных rowTimes
,var1,...,varN
)var1,...,varN
входных данных и временной вектор
rowTimes
. Переменные данных могут иметь различные размеры и типы данных, пока у них есть одинаковое число строк. rowTimes
должен быть datetime
или duration
вектор, также с одинаковым числом строк.
TT = timetable(
задает var1,...,varN
,'RowTimes',rowTimes
)rowTimes
как источник времен строки TT
. Когда вы используете этот синтаксис, имя вектора времен строки из TT
всегда Time
, даже когда rowTimes
переменная рабочей области с другим именем.
TT = timetable(
использует частоту дискретизации var1,...,varN
,'SampleRate',Fs
)Fs
вычислить расположенные с равными интервалами времена строки. Fs
положительный числовой скаляр, который задает количество отсчетов в секунду (Гц). Первый раз строки является нулевыми секундами.
TT = timetable(
использует временной шаг var1,...,varN
,'TimeStep',dt
)dt
вычислить расположенные с равными интервалами времена строки. dt
duration
или calendarDuration
значение, которое задает отрезок времени между временами строки подряд. Первый раз строки является нулевыми секундами.
TT = timetable('Size',
создает расписание и предварительно выделяет место для переменных, которые имеют типы данных, которые вы задаете. sz
,'VariableTypes',varTypes
,'RowTimes',rowTimes
)sz
двухэлементный числовой массив, где sz(1)
задает количество строк и sz(2)
задает количество переменных. varTypes
задает типы данных переменных. Число раз в rowTimes
должен равняться sz(1)
.
TT = timetable(___,
задает дополнительные входные параметры с помощью одного или нескольких аргументов пары "имя-значение". Например, можно задать имена переменных с помощью Name,Value
)'VariableNames'
пара "имя-значение". Также можно задать время начала с помощью 'StartTime'
пара "имя-значение" с частотой дискретизации или временным шагом. Можно использовать этот синтаксис с любым из входных параметров предыдущих синтаксисов.
var1,...,varN
— Входные переменныеВходные переменные в виде массивов с одинаковым числом строк. Входные переменные могут иметь различные размеры и различные типы данных, пока у них есть одинаковое число строк.
Общие входные переменные являются числовыми массивами, логическими массивами, строковыми массивами, массивами структур и массивами ячеек.
Входные переменные также могут быть объектами, которые являются массивами. Такой массив должен поддержать индексацию формы var(index1,...,indexN)
, где index1
числовой или логический вектор, который соответствует строкам переменной var
. Кроме того, массив должен реализовать обоих vertcat
метод и size
метод с dim
аргумент.
rowTimes
— Времена сопоставлены со строками расписанияdatetime
вектор | duration
векторВремена сопоставлены со строками расписания в виде datetime
вектор или duration
вектор. Каждый раз помечает строку в выходном расписании, TT
. Временные стоимости в rowTimes
не должны быть уникальными, не отсортированы, или регулярными.
sz
— Размер предварительно выделенного расписанияРазмер предварительно выделенного расписания в виде двухэлементного числового вектора. Первый элемент sz
задает количество строк, и второй элемент задает количество переменных расписания.
varTypes
— Типы данных предварительно выделенных переменныхТипы данных предварительно выделенных переменных в виде массива ячеек из символьных векторов или массива строк. Количество типов задано varTypes
должен равняться количеству переменных, заданных вторым элементом sz
.
varTypes
может содержать имена любых типов данных, включая имена, показанные в таблице.
Имя типа данных | Начальное значение в каждом элементе |
---|---|
| Дважды - или |
| Дважды - или |
| Подписанный 8-, 16-, 32-, или 64-битный целочисленный |
| 8-без знака, 16-, 32-, или 64-битный целочисленный |
| 0 |
|
|
|
|
| 0 |
| 0 |
|
|
|
|
|
|
| Скалярная структура без полей |
| Таблица без переменных |
| Расписание без переменных и |
Для любого другого типа данных начальное значение является значением, используемым тем типом, или класс к "заполнению" отменил присвоение элементов массива.
Если вы задаете 'char'
как тип данных, затем timetable
предварительно выделяет соответствующую переменную как массив ячеек из символьных векторов, не как символьный массив. Лучшая практика должна постараться не составлять переменные таблицы или расписания, которые являются символьными массивами. При работе с текстовыми данными в таблице или расписании, рассмотрите использование массива строк или категориального массива.
Fs
— Частота дискретизацииЧастота дискретизации в виде положительного числового скаляра. Fs
задает количество отсчетов в секунду (Гц).
dt
— Временной шагduration
скаляр | calendarDuration
скалярВременной шаг в виде duration
скаляр или calendarDuration
скаляр.
Если вы задаете dt
как calendarDuration
значение, и вы задаете 'StartTime'
аргумент пары "имя-значение", затем значение 'StartTime'
должен быть datetime
скаляр.
Задайте дополнительные разделенные запятой пары Name,Value
аргументы. Name
имя аргумента и Value
соответствующее значение. Name
должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN
.
TT = timetable(rowTimes,T,W,'VariableNames',{'Temperature','WindSpeed'})
создает расписание из входных массивов T
и W
, и называет соответствующие переменные Temperature
расписания
и WindSpeed
.VariableNames
Имена переменныхИмена переменных в виде массива ячеек из символьных векторов или массива строк, элементы которого непусты и отличны.
Количество имен в массиве должно равняться количеству переменных расписания.
timetable
функционируйте также хранит имена переменных в VariableNames
свойство расписания.
Имена переменных могут иметь любой Unicode® символы, включая пробелы и символы non-ASCII.
DimensionNames
DimensionNames Начиная с R2021a
Размерность называет в виде двухэлементного массива ячеек из символьных векторов или двухэлементного массива строк, элементы которого непусты и отличны.
timetable
функционируйте также хранит имена размерности в DimensionNames
свойство расписания.
Имена размерности могут иметь любые символы Unicode, включая символы non-ASCII и пробелы.
Перед R2021a можно указать, что размерность называет только путем установки DimensionNames
свойство.
StartTime
Время началаdatetime
скаляр |
duration
скалярВремя начала в виде datetime
скаляр или duration
скаляр. Время начала является также временем строки первой строки расписания.
Можно задать 'StartTime'
только, когда вы также задаете 'SampleRate'
или 'TimeStep'
аргумент пары "имя-значение".
Если временем начала является datetime
значение, затем времена строки TT
datetime
значения.
Если временем начала является duration
значение, затем времена строки являются длительностью.
Если временной шаг dt
calendarDuration
значение, затем временем начала должен быть datetime
значение.
Доступ к свойствам метаданных расписания
Расписание содержит свойства метаданных, которые описывают расписание, его времена строки и его переменные. Доступ к этим свойствам с помощью синтаксиса
, где timetableName
свойства.
имя свойства. Например, можно получить доступ к именам переменных в расписании PropertyName
TT
через TT.Properties.VariableNames
свойство.
Можно возвратить сводные данные свойств метаданных с помощью синтаксиса
.timetableName
свойства
Расписания обеспечивают доступ к метаданным через Properties
свойство, потому что можно получить доступ к данным о расписании непосредственно с помощью точечного синтаксиса. Например, если расписание TT
имеет переменную под названием Var1
, затем можно получить доступ к значениям в переменной при помощи синтаксиса TT.Var1
.
DimensionNames
DimensionNames {'Time','Variables'}
(значение по умолчанию) | двухэлементный массив ячеек из символьных векторов | двухэлементный массив строкРазмерность называет в виде двухэлементного массива ячеек из символьных векторов или двухэлементного массива строк, элементы которого непусты и отличны.
Имена размерности могут иметь любые символы Unicode, включая символы non-ASCII и пробелы.
Если вы задаете это свойство с помощью массива строк, то оно преобразовано и сохранено как массив ячеек из символьных векторов.
Можно получить доступ к данным о расписании с помощью двух имен размерности.
Если вы используете точечный синтаксис и первое имя размерности, то можно получить доступ ко временам строки как к вектору.
Если вы используете точечный синтаксис и имя второго измерения, то данные из всех переменных конкатенированы вместе в одном массиве, как будто вы индексировали в расписание с помощью {:,:}
синтаксис.
Создайте расписание и отобразите его имена размерности. Можно получить доступ ко временам строки и данным с помощью имен размерности с точечным синтаксисом.
TT = timetable(datetime({'2015-12-18';'2015-12-19';'2015-12-20'}), ... [37.3;39.1;42.3],[30.1;30.03;29.9],[13.4;6.5;7.3]); TT.Properties.DimensionNames
ans = 1x2 cell
{'Time'} {'Variables'}
Доступ ко временам строки с помощью первого имени размерности.
TT.Time
ans = 3x1 datetime
18-Dec-2015
19-Dec-2015
20-Dec-2015
Доступ к данным с помощью имени второго измерения. Этот синтаксис эквивалентен TT{:,:,}
.
TT.Variables
ans = 3×3
37.3000 30.1000 13.4000
39.1000 30.0300 6.5000
42.3000 29.9000 7.3000
Измените имена его размерностей с помощью Properties.DimensionNames
свойство. Поменяв имена размерности, можно получить доступ ко временам строки и данным с помощью синтаксисов TT.Date
и TT.WeatherData
соответственно.
TT.Properties.DimensionNames = {'Date','WeatherData'}; TT.Properties
ans = TimetableProperties with properties: Description: '' UserData: [] DimensionNames: {'Date' 'WeatherData'} VariableNames: {'Var1' 'Var2' 'Var3'} VariableDescriptions: {} VariableUnits: {} VariableContinuity: [] RowTimes: [3x1 datetime] StartTime: 18-Dec-2015 SampleRate: NaN TimeStep: 1d CustomProperties: No custom properties are set. Use addprop and rmprop to modify CustomProperties.
Description
— Описание расписания''
(значение по умолчанию) | вектор символов | строковый скалярОписание расписания в виде вектора символов или строкового скаляра. Это описание отображается при использовании summary
функция.
Если вы задаете это свойство с помощью строкового скаляра, то оно преобразовано и сохранено как вектор символов.
Создайте расписание. Измените имена переменных и описание расписания. Отобразите сводные данные результата.
TT = timetable(datetime({'2015-12-18';'2015-12-19';'2015-12-20'}), ... [37.3;39.1;42.3],[30.1;30.03;29.9],[13.4;6.5;7.3]); TT.Properties.VariableNames = {'Temp','Pressure','WindSpeed'}; TT.Properties.Description = 'Weather Data from December 2015'; summary(TT)
Description: Weather Data from December 2015 RowTimes: Time: 3x1 datetime Values: Min 18-Dec-2015 Median 19-Dec-2015 Max 20-Dec-2015 TimeStep 24:00:00 Variables: Temp: 3x1 double Values: Min 37.3 Median 39.1 Max 42.3 Pressure: 3x1 double Values: Min 29.9 Median 30.03 Max 30.1 WindSpeed: 3x1 double Values: Min 6.5 Median 7.3 Max 13.4
UserData
— Дополнительная информация о расписании[]
(значение по умолчанию) | массивДополнительная информация о расписании в виде массива. Можно присоединить данные любого вида к расписанию с помощью этого свойства.
Создайте расписание. Измените имена переменных. Присоедините анонимную функцию как часть пользовательских данных, которые сопоставлены с расписанием.
TT = timetable(datetime({'2015-12-18';'2015-12-19';'2015-12-20'}), ... [37.3;39.1;42.3],[30.1;30.03;29.9],[13.4;6.5;7.3]); TT.Properties.VariableNames = {'Temp','Pressure','WindSpeed'}; Fahrenheit2Celsius = @(x) (5.0/9.0).*(x - 32); TT.Properties.UserData = Fahrenheit2Celsius; TT.Properties
ans = TimetableProperties with properties: Description: '' UserData: @(x)(5.0/9.0).*(x-32) DimensionNames: {'Time' 'Variables'} VariableNames: {'Temp' 'Pressure' 'WindSpeed'} VariableDescriptions: {} VariableUnits: {} VariableContinuity: [] RowTimes: [3x1 datetime] StartTime: 18-Dec-2015 SampleRate: NaN TimeStep: 1d CustomProperties: No custom properties are set. Use addprop and rmprop to modify CustomProperties.
RowTimes
RowTimes datetime
вектор | duration
векторВремена строки в виде datetime
вектор или duration
вектор.
Должно быть время строки для каждой строки расписания.
Расписание может иметь времена строки, которые являются копиями, не в порядке, или NaT
или NaN
значения.
Времена строки отображаются, когда вы просматриваете расписание. Кроме того, можно использовать времена строки в круглых скобках или фигурных скобках, чтобы получить доступ к данным о расписании.
Другой способ получить доступ ко временам строки состоит в том, чтобы использовать точечный синтаксис и имя первой размерности расписания.
Создайте расписание. Затем замените его времена строки с помощью Properties.RowTimes
свойство.
TT = timetable(datetime({'2015-12-18';'2015-12-19';'2015-12-20'}), ... [37.3;39.1;42.3],[30.1;30.03;29.9],[13.4;6.5;7.3])
TT=3×3 timetable
Time Var1 Var2 Var3
___________ ____ _____ ____
18-Dec-2015 37.3 30.1 13.4
19-Dec-2015 39.1 30.03 6.5
20-Dec-2015 42.3 29.9 7.3
Dates = datetime(2017,1,1:3); TT.Properties.RowTimes = Dates
TT=3×3 timetable
Time Var1 Var2 Var3
___________ ____ _____ ____
01-Jan-2017 37.3 30.1 13.4
02-Jan-2017 39.1 30.03 6.5
03-Jan-2017 42.3 29.9 7.3
Другой способ получить доступ ко временам строки при помощи точечного синтаксиса с именем первой размерности расписания.
TT.Properties.DimensionNames
ans = 1x2 cell
{'Time'} {'Variables'}
TT.Time
ans = 3x1 datetime
01-Jan-2017
02-Jan-2017
03-Jan-2017
StartTime
— Время начала времен строкиdatetime
скаляр | duration
скалярВремя начала времен строки в виде datetime
скаляр или duration
скаляр. Время начала равно времени строки для первой строки расписания и имеет совпадающий тип данных.
Если временем начала является datetime
значение, затем времена строки TT
datetime
значения.
Если временем начала является duration
значение, затем времена строки являются длительностью.
Если временным шагом является calendarDuration
значение, затем временем начала должен быть datetime
значение.
Если расписание пусто, то временем начала является NaN
.
Создайте расписание. В этом расписании временной шаг между последовательными строками различный, таким образом, расписание неправильно.
TT = timetable(datetime({'2015-12-18';'2015-12-20';'2015-12-21'}), ... [37.3;39.1;42.3],[13.4;6.5;7.3],{'N';'SE';'NW'}); TT.Properties.VariableNames = {'Temperature','WindSpeed','WindDirection'}
TT=3×3 timetable
Time Temperature WindSpeed WindDirection
___________ ___________ _________ _____________
18-Dec-2015 37.3 13.4 {'N' }
20-Dec-2015 39.1 6.5 {'SE'}
21-Dec-2015 42.3 7.3 {'NW'}
Отобразите его свойства. Значение StartTime
свойство равно первому разу строки. Обычно ли расписание или неправильно, оно всегда имеет время начала, если это не пусто.
TT.Properties
ans = TimetableProperties with properties: Description: '' UserData: [] DimensionNames: {'Time' 'Variables'} VariableNames: {'Temperature' 'WindSpeed' 'WindDirection'} VariableDescriptions: {} VariableUnits: {} VariableContinuity: [] RowTimes: [3x1 datetime] StartTime: 18-Dec-2015 SampleRate: NaN TimeStep: NaN CustomProperties: No custom properties are set. Use addprop and rmprop to modify CustomProperties.
Измените StartTime
свойство. Обратите внимание на то, что все времена строки имеют новые значения. В течение каждого раза строки изменение в значении равно различию между исходным значением первого раза строки и новым временем начала.
TT.Properties.StartTime = datetime('2018-04-09')
TT=3×3 timetable
Time Temperature WindSpeed WindDirection
___________ ___________ _________ _____________
09-Apr-2018 37.3 13.4 {'N' }
11-Apr-2018 39.1 6.5 {'SE'}
12-Apr-2018 42.3 7.3 {'NW'}
SampleRate
— Частота дискретизацииЧастота дискретизации в виде положительного числового скаляра. Частота дискретизации является количеством отсчетов в секунду (Гц).
Если времена строки не являются регулярными, или расписание пусто, то частотой дискретизации является NaN
.
TimeStep
— Временной шагduration
скаляр | calendarDuration
скалярВременной шаг в виде duration
скаляр или calendarDuration
скаляр.
Если вы задаете временной шаг как calendarDuration
значением (например, календарные месяцы), затем вектор времен строки должен быть datetime
вектор.
Если вы задаете временной шаг как duration
значение (например, секунды), затем вектор времен строки любой может быть datetime
или duration
вектор.
Если времена строки не являются регулярными, или расписание пусто, то временным шагом является NaN
.
Создайте обычное расписание. В этом расписании времена строки являются длительностью, созданное использование того же временного шага.
Intensity = [100;98.7;95.2;101.4;99.1];
TT = timetable(Intensity,'TimeStep',seconds(0.01))
TT=5×1 timetable
Time Intensity
________ _________
0 sec 100
0.01 sec 98.7
0.02 sec 95.2
0.03 sec 101.4
0.04 sec 99.1
Отобразите его свойства. TimeStep
свойство хранит временной шаг как длительность.
TT.Properties
ans = TimetableProperties with properties: Description: '' UserData: [] DimensionNames: {'Time' 'Variables'} VariableNames: {'Intensity'} VariableDescriptions: {} VariableUnits: {} VariableContinuity: [] RowTimes: [5x1 duration] StartTime: 0 sec SampleRate: 100 TimeStep: 0.01 sec CustomProperties: No custom properties are set. Use addprop and rmprop to modify CustomProperties.
Измените TimeStep
свойство. Время начала является тем же самым, но все другие времена строки отличаются, потому что временной шаг больше. Однако переменная Intensity
остается то же самое.
TT.Properties.TimeStep = seconds(0.04)
TT=5×1 timetable
Time Intensity
________ _________
0 sec 100
0.04 sec 98.7
0.08 sec 95.2
0.12 sec 101.4
0.16 sec 99.1
VariableNames
Имена переменныхИмена переменных в виде массива ячеек из символьных векторов или массива строк, элементы которого непусты и отличны. Количество имен должно равняться количеству переменных.
Имена переменных могут иметь любые символы Unicode, включая символы non-ASCII и пробелы.
Имена переменных отображаются при просмотре расписания и при использовании summary
функция. Кроме того, можно использовать имена переменных в круглых скобках в фигурных скобках, или с индексацией точки, чтобы получить доступ к табличным данным.
Если вы задаете это свойство с помощью массива строк, то оно преобразовано и сохранено как массив ячеек из символьных векторов.
Создайте расписание с именами переменных по умолчанию. Затем измените имена с помощью Properties.VariableNames
свойство.
TT = timetable(datetime({'2015-12-18';'2015-12-19';'2015-12-20'}), ... [37.3;39.1;42.3],[30.1;30.03;29.9],[13.4;6.5;7.3])
TT=3×3 timetable
Time Var1 Var2 Var3
___________ ____ _____ ____
18-Dec-2015 37.3 30.1 13.4
19-Dec-2015 39.1 30.03 6.5
20-Dec-2015 42.3 29.9 7.3
TT.Properties.VariableNames = {'Temp','Pressure','WindSpeed'}
TT=3×3 timetable
Time Temp Pressure WindSpeed
___________ ____ ________ _________
18-Dec-2015 37.3 30.1 13.4
19-Dec-2015 39.1 30.03 6.5
20-Dec-2015 42.3 29.9 7.3
Основной способ отобразиться и изменить переменные состоит в том, чтобы получить доступ к ним по наименованию использующий точечный синтаксис.
TT.Temp
ans = 3×1
37.3000
39.1000
42.3000
TT.Pressure(3) = 30
TT=3×3 timetable
Time Temp Pressure WindSpeed
___________ ____ ________ _________
18-Dec-2015 37.3 30.1 13.4
19-Dec-2015 39.1 30.03 6.5
20-Dec-2015 42.3 30 7.3
VariableDescriptions
VariableDescriptions {}
(значение по умолчанию) | массив ячеек из символьных векторов | массив строкОписания переменной в виде массива ячеек из символьных векторов или массива строк. Это свойство может быть массивом пустой ячейки, который является значением по умолчанию. Если массив не пуст, то он должен содержать столько же элементов, сколько существуют переменные. Можно задать отдельный пустой символьный вектор или пустую строку для переменной, которая не имеет описания.
Описания переменной отображаются при использовании summary
функция.
Если вы задаете это свойство с помощью массива строк, то оно преобразовано и сохранено как массив ячеек из символьных векторов.
Создайте расписание. Измените имена переменных и описания. Отобразите сводные данные результата.
TT = timetable(datetime({'2015-12-18';'2015-12-19';'2015-12-20'}), ... [37.3;39.1;42.3],[30.1;30.03;29.9],[13.4;6.5;7.3]); TT.Properties.VariableNames = {'Temp','Pressure','WindSpeed'}; TT.Properties.VariableDescriptions = {'Temperature (external)', ... 'Pressure in Hg', ... 'Wind speed at sensor 123'}; summary(TT)
RowTimes: Time: 3x1 datetime Values: Min 18-Dec-2015 Median 19-Dec-2015 Max 20-Dec-2015 TimeStep 24:00:00 Variables: Temp: 3x1 double Properties: Description: Temperature (external) Values: Min 37.3 Median 39.1 Max 42.3 Pressure: 3x1 double Properties: Description: Pressure in Hg Values: Min 29.9 Median 30.03 Max 30.1 WindSpeed: 3x1 double Properties: Description: Wind speed at sensor 123 Values: Min 6.5 Median 7.3 Max 13.4
VariableUnits
VariableUnits {}
(значение по умолчанию) | массив ячеек из символьных векторов | массив строкПеременные модули в виде массива ячеек из символьных векторов или массива строк. Это свойство может быть массивом пустой ячейки, который является значением по умолчанию. Если массив не пуст, то он должен содержать столько же элементов, сколько существуют переменные. Можно задать отдельный пустой символьный вектор или пустую строку для переменной, которая не имеет модулей.
Переменные модули отображаются при использовании summary
функция.
Если вы задаете это свойство с помощью массива строк, то оно преобразовано и сохранено как массив ячеек из символьных векторов.
Создайте расписание. Измените имена переменных и модули. Отобразите сводные данные результата.
TT = timetable(datetime({'2015-12-18';'2015-12-19';'2015-12-20'}), ... [37.3;39.1;42.3],[30.1;30.03;29.9],[13.4;6.5;7.3]); TT.Properties.VariableNames = {'Temp','Pressure','WindSpeed'}; TT.Properties.VariableUnits = {'degrees F','mm Hg','mph'}; summary(TT)
RowTimes: Time: 3x1 datetime Values: Min 18-Dec-2015 Median 19-Dec-2015 Max 20-Dec-2015 TimeStep 24:00:00 Variables: Temp: 3x1 double Properties: Units: degrees F Values: Min 37.3 Median 39.1 Max 42.3 Pressure: 3x1 double Properties: Units: mm Hg Values: Min 29.9 Median 30.03 Max 30.1 WindSpeed: 3x1 double Properties: Units: mph Values: Min 6.5 Median 7.3 Max 13.4
VariableContinuity
— Состояние как непрерывные или дискретные переменные[]
(значение по умолчанию) | массив ячеек из символьных векторов | массив строкСостояние как непрерывные или дискретные переменные в виде массива ячеек из символьных векторов или массива строк. Это свойство может быть пустым массивом, который является значением по умолчанию. Если массив не пуст, то он должен содержать столько же элементов, сколько существуют переменные. Каждым элементом может быть любой 'unset'
, 'continuous'
шаг
, или 'event'
.
Значения в VariableContinuity
влияйте как retime
или synchronize
функции работают. Если вы задаете VariableContinuity
и вызовите retime
или synchronize
, затем вы не должны задавать метод. Вместо этого retime
и synchronize
заполните выходные переменные расписания с помощью следующих методов по умолчанию:
'unset'
— Заполните значения с помощью индикатора недостающих данных для того типа (такие как NaN
для числовых переменных).
'continuous'
— Заполните значения с помощью линейной интерполяции.
'step'
— Заполните значения с помощью предыдущего значения.
'event'
— Заполните значения с помощью индикатора недостающих данных для того типа (такие как NaN
для числовых переменных).
Если вы действительно задаете метод как входной параметр к retime
или synchronize
, затем тот метод заменяет значения, которые вы задаете в VariableContinuity
.
Для получения дополнительной информации об использовании VariableContinuity
свойство, смотрите, Повторно синхронизируют и Синхронизируют Переменные Расписания Используя Различные Методы.
Создайте расписание. Задайте matlab.tabular.Continuity
значение для каждой переменной.
TT = timetable(datetime({'2015-12-18';'2015-12-19';'2015-12-20'}), ... [37.3;39.1;42.3],[13.4;6.5;7.3],{'N';'SE';'NW'}); TT.Properties.VariableNames = {'Temperature','WindSpeed','WindDirection'}; TT.Properties.VariableContinuity = {'continuous','event','event'}; TT.Properties
ans = TimetableProperties with properties: Description: '' UserData: [] DimensionNames: {'Time' 'Variables'} VariableNames: {'Temperature' 'WindSpeed' 'WindDirection'} VariableDescriptions: {} VariableUnits: {} VariableContinuity: [continuous event event] RowTimes: [3x1 datetime] StartTime: 18-Dec-2015 SampleRate: NaN TimeStep: 1d CustomProperties: No custom properties are set. Use addprop and rmprop to modify CustomProperties.
CustomProperties
— Индивидуально настраиваемые метаданные расписания и его переменныхCustomProperties
объектИндивидуально настраиваемые метаданные расписания и его переменных в виде CustomProperties
объект.
CustomProperties
объект является контейнером для индивидуально настраиваемых метаданных, которые можно добавить в расписание. По умолчанию, CustomProperties
имеет нулевые свойства. Каждое свойство вы добавляете к CustomProperties
может содержать или табличные метаданные или переменные метаданные. Если свойство содержит переменные метаданные, то его значение должно быть массивом, и число элементов в массиве должно равняться количеству переменных расписания.
Чтобы добавить свойства для индивидуально настраиваемых метаданных к расписанию, используйте addprop
функция.
Чтобы получить доступ или изменить настроенные метаданные, используйте синтаксис
. В этом синтаксисе, timetableName
свойства. Custom Properties.
имя, которое вы выбрали, когда вы добавили то использование свойства PropertyName
addprop
.
Чтобы удалить свойства, используйте rmprop
функция.
Примечание: можно добавить или удалить только свойства для индивидуально настраиваемого использования метаданных addprop
и rmprop
. Вы не можете добавить или удалить свойства
объект.timetableName
свойства
Создайте расписание, содержащее данные о погоде.
TT = timetable(datetime({'2015-12-18';'2015-12-20';'2015-12-21'}), ... [37.3;39.1;42.3],[13.4;6.5;7.3],{'N';'SE';'NW'}); TT.Properties.VariableNames = {'Temperature','WindSpeed','WindDirection'}
TT=3×3 timetable
Time Temperature WindSpeed WindDirection
___________ ___________ _________ _____________
18-Dec-2015 37.3 13.4 {'N' }
20-Dec-2015 39.1 6.5 {'SE'}
21-Dec-2015 42.3 7.3 {'NW'}
Чтобы описать инструменты, которые измерили эти данные и имя выходного файла, добавляют, настроенные метаданные с помощью addprop
функция. Instruments
свойство имеет переменные метаданные, которые применяются к переменным TT
. OutputFile
свойство имеет табличные метаданные.
TT = addprop(TT,{'Instruments','OutputFile'},{'variable','table'}); TT.Properties
ans = TimetableProperties with properties: Description: '' UserData: [] DimensionNames: {'Time' 'Variables'} VariableNames: {'Temperature' 'WindSpeed' 'WindDirection'} VariableDescriptions: {} VariableUnits: {} VariableContinuity: [] RowTimes: [3x1 datetime] StartTime: 18-Dec-2015 SampleRate: NaN TimeStep: NaN Custom Properties (access using t.Properties.CustomProperties.<name>): OutputFile: [] Instruments: []
Присвойте значения индивидуально настраиваемым метаданным с помощью точечного синтаксиса. Когда вы присваиваете массив текстовых значений к индивидуально настраиваемым метаданным, лучшая практика должна использовать массив строк, не массив ячеек из символьных векторов. Если свойство CustomProperties
массив ячеек из символьных векторов, затем нет никакого механизма, чтобы предотвратить вас от более поздних нетекстовых значений присвоения как элементы массива ячеек.
TT.Properties.CustomProperties.Instruments = ["thermometer","anemometer","wind vane"]; TT.Properties.CustomProperties.OutputFile = 'weatherReadings.csv'; TT.Properties
ans = TimetableProperties with properties: Description: '' UserData: [] DimensionNames: {'Time' 'Variables'} VariableNames: {'Temperature' 'WindSpeed' 'WindDirection'} VariableDescriptions: {} VariableUnits: {} VariableContinuity: [] RowTimes: [3x1 datetime] StartTime: 18-Dec-2015 SampleRate: NaN TimeStep: NaN Custom Properties (access using t.Properties.CustomProperties.<name>): OutputFile: 'weatherReadings.csv' Instruments: ["thermometer" "anemometer" "wind vane"]
Удалите OutputFile
свойство от TT
.
TT = rmprop(TT,'OutputFile');
TT.Properties
ans = TimetableProperties with properties: Description: '' UserData: [] DimensionNames: {'Time' 'Variables'} VariableNames: {'Temperature' 'WindSpeed' 'WindDirection'} VariableDescriptions: {} VariableUnits: {} VariableContinuity: [] RowTimes: [3x1 datetime] StartTime: 18-Dec-2015 SampleRate: NaN TimeStep: NaN Custom Properties (access using t.Properties.CustomProperties.<name>): Instruments: ["thermometer" "anemometer" "wind vane"]
Храните данные о погодных условиях, измеренных в разное время в расписании. Кроме устройства хранения данных, расписания обеспечивают функции, чтобы синхронизировать данные с временами, которые вы задаете. Кроме того, можно аннотировать расписание, чтобы описать работу и переменные расписания.
Создайте расписание из переменных рабочей области. Значения в MeasurementTime
станьте временами строки расписания. Все другие входные параметры становятся переменными расписания. Когда вы используете этот синтаксис, имена вектора времен строки и переменные TT
имена соответствующих входных параметров.
MeasurementTime = datetime({'2015-12-18 08:03:05';'2015-12-18 10:03:17';'2015-12-18 12:03:13'}); Temp = [37.3;39.1;42.3]; Pressure = [30.1;30.03;29.9]; WindSpeed = [13.4;6.5;7.3]; TT = timetable(MeasurementTime,Temp,Pressure,WindSpeed)
TT=3×3 timetable
MeasurementTime Temp Pressure WindSpeed
____________________ ____ ________ _________
18-Dec-2015 08:03:05 37.3 30.1 13.4
18-Dec-2015 10:03:17 39.1 30.03 6.5
18-Dec-2015 12:03:13 42.3 29.9 7.3
Синхронизируйте данные о погоде с постоянными временами с почасовым временным шагом. Настройте данные к новым временам с помощью линейной интерполяции.
TT2 = retime(TT,'hourly','linear')
TT2=6×3 timetable
MeasurementTime Temp Pressure WindSpeed
____________________ ______ ________ _________
18-Dec-2015 08:00:00 37.254 30.102 13.577
18-Dec-2015 09:00:00 38.152 30.067 10.133
18-Dec-2015 10:00:00 39.051 30.032 6.6885
18-Dec-2015 11:00:00 40.613 29.969 6.8783
18-Dec-2015 12:00:00 42.214 29.903 7.2785
18-Dec-2015 13:00:00 43.815 29.838 7.6788
Поскольку времена строки выхода не являются измеренными временами, переименовывают вектор времен строки. Этот вектор является также именем первой размерности расписания.
TT2.Properties.DimensionNames{1} = 'InterpolatedTimes'
TT2=6×3 timetable
InterpolatedTimes Temp Pressure WindSpeed
____________________ ______ ________ _________
18-Dec-2015 08:00:00 37.254 30.102 13.577
18-Dec-2015 09:00:00 38.152 30.067 10.133
18-Dec-2015 10:00:00 39.051 30.032 6.6885
18-Dec-2015 11:00:00 40.613 29.969 6.8783
18-Dec-2015 12:00:00 42.214 29.903 7.2785
18-Dec-2015 13:00:00 43.815 29.838 7.6788
Аннотируйте TT2
с описанием. Можно аннотировать TT2
и к его переменным с помощью метаданных получают доступ через TT2.Properties
.
TT2.Properties.Description = 'Weather data, interpolated to regular hourly times';
TT2.Properties
ans = TimetableProperties with properties: Description: 'Weather data, interpolated to regular hourly times' UserData: [] DimensionNames: {'InterpolatedTimes' 'Variables'} VariableNames: {'Temp' 'Pressure' 'WindSpeed'} VariableDescriptions: {} VariableUnits: {} VariableContinuity: [] RowTimes: [6x1 datetime] StartTime: 18-Dec-2015 08:00:00 SampleRate: 2.7778e-04 TimeStep: 01:00:00 CustomProperties: No custom properties are set. Use addprop and rmprop to modify CustomProperties.
Можно использовать точечный синтаксис, чтобы получить доступ ко временам строки расписания. Кроме того, можно получить доступ к отдельным переменным с помощью точечного синтаксиса или всех данных в расписании с помощью его имени второго измерения.
Загрузите расписание из MAT-файла outdoors
. Отобразите первые три строки.
load outdoors
outdoors(1:3,:)
ans=3×3 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
Доступ ко временам строки с помощью имени вектора времен строки. Это имя является также именем первой размерности расписания. outdoors
хранит времена строки как datetime
вектор. Отобразитесь первые три раза.
outdoors.Time(1:3)
ans = 3x1 datetime
2015-11-15 00:00:24
2015-11-15 01:30:24
2015-11-15 03:00:24
Доступ к температурам как числовой вектор, с помощью его имени переменной.
outdoors.TemperatureF(1:3)
ans = 3×1
51.3000
51.5000
51.5000
Доступ ко всем данным о расписании как матрица, с помощью синтаксиса outdoors.Variables
. Этот синтаксис использует имя второго измерения расписания и эквивалентен доступу ко всему содержимому, использующему изогнутую индексацию фигурной скобки, outdoors{:,:}
. Однако матрица не включает времена строки, потому что вектор времен строки является метаданными расписания, не переменной. Если данные о расписании не могут быть конкатенированы в матрицу, то сообщение об ошибке повышено.
outdoors.Variables
ans = 51×3
49.0000 51.3000 29.6100
48.9000 51.5000 29.6100
48.9000 51.5000 29.6100
48.8000 51.5000 29.6100
48.7000 51.5000 29.6000
48.8000 51.5000 29.6000
49.0000 51.5000 29.6000
49.1000 51.3000 29.6000
49.1000 51.3000 29.6100
49.1000 51.5000 29.6100
⋮
Переименуйте второе измерение outdoors
. Если вы меняете имя, то можно использовать новое имя, чтобы получить доступ к данным.
outdoors.Properties.DimensionNames{2} = 'Data';
outdoors.Data
ans = 51×3
49.0000 51.3000 29.6100
48.9000 51.5000 29.6100
48.9000 51.5000 29.6100
48.8000 51.5000 29.6100
48.7000 51.5000 29.6000
48.8000 51.5000 29.6000
49.0000 51.5000 29.6000
49.1000 51.3000 29.6000
49.1000 51.3000 29.6100
49.1000 51.5000 29.6100
⋮
Создайте расписание с помощью 'RowTimes'
аргумент пары "имя-значение". Обратите внимание на то, что имя вектора времен строки из TT
Time
, не MeasurementTime
. Когда вы используете этот синтаксис, именем вектора времен строки всегда является Time
.
MeasurementTime = datetime({'2015-12-18 08:03:05';'2015-12-18 10:03:17';'2015-12-18 12:03:13'}); Temp = [37.3;39.1;42.3]; Pressure = [29.4;29.6;30.0]; Precip = [0.1;0.9;0.0]; StormDuration = [hours(1);hours(2);NaN]; TT = timetable(Temp,Pressure,Precip,StormDuration,'RowTimes',MeasurementTime)
TT=3×4 timetable
Time Temp Pressure Precip StormDuration
____________________ ____ ________ ______ _____________
18-Dec-2015 08:03:05 37.3 29.4 0.1 1 hr
18-Dec-2015 10:03:17 39.1 29.6 0.9 2 hr
18-Dec-2015 12:03:13 42.3 30 0 NaN hr
Создайте расписание. Если существуют входные параметры, которые не являются переменными рабочей области, то timetable
функционируйте присваивает имена по умолчанию к соответствующему вектору времен строки и переменным расписания. Например, если вы транспонируете некоторые входные параметры, чтобы сделать их вектор-столбцами, затем те входные параметры не являются переменными рабочей области. Именами по умолчанию является Time
для вектора времен строки и VarN
для N
переменная расписания th.
T = hours(1:3); Temp = [37.3;39.1;42.3]; P = [29.4 29.6 30]; TT = timetable(T',Temp,P')
TT=3×2 timetable
Time Temp Var2
____ ____ ____
1 hr 37.3 29.4
2 hr 39.1 29.6
3 hr 42.3 30
Создайте обычное расписание с помощью частоты дискретизации 100 Гц.
Intensity = [100;98.7;95.2;101.4;99.1];
TT = timetable(Intensity,'SampleRate',100)
TT=5×1 timetable
Time Intensity
________ _________
0 sec 100
0.01 sec 98.7
0.02 sec 95.2
0.03 sec 101.4
0.04 sec 99.1
Создайте расписание с 30 секундами как первый раз строки. Чтобы задать время начала, используйте 'StartTime'
аргумент пары "имя-значение".
TT = timetable(Intensity,'SampleRate',100,'StartTime',seconds(30))
TT=5×1 timetable
Time Intensity
_________ _________
30 sec 100
30.01 sec 98.7
30.02 sec 95.2
30.03 sec 101.4
30.04 sec 99.1
Создайте обычное расписание с помощью временного шага 0,01 секунд. Необходимо задать временной шаг как duration
или calendarDuration
значение.
Intensity = [100;98.7;95.2;101.4;99.1];
TT = timetable(Intensity,'TimeStep',seconds(0.01))
TT=5×1 timetable
Time Intensity
________ _________
0 sec 100
0.01 sec 98.7
0.02 sec 95.2
0.03 sec 101.4
0.04 sec 99.1
Создайте расписание с 30 секундами как первый раз строки. Чтобы задать время начала, используйте 'StartTime'
аргумент пары "имя-значение".
TT = timetable(Intensity,'TimeStep',seconds(0.01),'StartTime',seconds(30))
TT=5×1 timetable
Time Intensity
_________ _________
30 sec 100
30.01 sec 98.7
30.02 sec 95.2
30.03 sec 101.4
30.04 sec 99.1
Предварительно выделите таблицу путем определения ее размера и типов данных переменных. timetable
функционируйте заполняет переменные значениями по умолчанию, которые подходят для типов данных, которые вы задаете. Это также дает имена по умолчанию переменных.
T = [datetime('now') datetime(2017,11,1:3)]; sz = [4 3]; varTypes = {'double','double','string'}; TT = timetable('Size',sz,'VariableTypes',varTypes,'RowTimes',T)
TT=4×3 timetable
Time Var1 Var2 Var3
____________________ ____ ____ _________
24-Aug-2021 23:33:26 0 0 <missing>
01-Nov-2017 00:00:00 0 0 <missing>
02-Nov-2017 00:00:00 0 0 <missing>
03-Nov-2017 00:00:00 0 0 <missing>
Чтобы задать имена для переменных, используйте 'VariableNames'
аргумент пары "имя-значение".
varNames = {'Temperature','WindSpeed','Station'}; TT = timetable('Size',sz,'VariableTypes',varTypes,'RowTimes',T,'VariableNames',varNames)
TT=4×3 timetable
Time Temperature WindSpeed Station
____________________ ___________ _________ _________
24-Aug-2021 23:33:26 0 0 <missing>
01-Nov-2017 00:00:00 0 0 <missing>
02-Nov-2017 00:00:00 0 0 <missing>
03-Nov-2017 00:00:00 0 0 <missing>
Добавьте строку данных к TT
. Предварительное выделение может быть полезным методом, когда ваш код добавляет одну строку данных или несколько строк данных, за один раз. Вместо того, чтобы вырастить расписание каждый раз, когда вы добавляете строку, можно заполнить табличные переменные, которые уже имеют пространство для данных. Можно инкапсулировать строку значений данных в массиве ячеек и присвоить его строке расписания.
Индекс в строку к ее времени и присвоению строка значений данных. Вы также можете, преобразовывая в нижний индекс в строки и переменные номером. Однако индексирование в расписание ко времени является полезным методом.
TT(datetime(2017,11,2),:) = {48.2,13.33,"S1"}
TT=4×3 timetable
Time Temperature WindSpeed Station
____________________ ___________ _________ _________
24-Aug-2021 23:33:26 0 0 <missing>
01-Nov-2017 00:00:00 0 0 <missing>
02-Nov-2017 00:00:00 48.2 13.33 "S1"
03-Nov-2017 00:00:00 0 0 <missing>
Можно инкапсулировать строку значений данных в массиве ячеек. Когда вы присваиваете строку от массива ячеек, присвоение преобразует массив ячеек в строку расписания.
Задайте частоту дискретизации 1 000 Гц и предварительно выделите расписание. Также можно задать время начала.
sz = [4 3]; varTypes = {'uint64','double','duration'}; TT = timetable('Size',sz,'VariableTypes',varTypes,'SampleRate',1000,'StartTime',seconds(15))
TT=4×3 timetable
Time Var1 Var2 Var3
__________ ____ ____ ________
15 sec 0 0 00:00:00
15.001 sec 0 0 00:00:00
15.002 sec 0 0 00:00:00
15.003 sec 0 0 00:00:00
Индексируйте в третью строку, путем определения ее времени, и добавьте строку данных.
TT(seconds(15.002),:) = {50,1.37,minutes(76)}
TT=4×3 timetable
Time Var1 Var2 Var3
__________ ____ ____ ________
15 sec 0 0 00:00:00
15.001 sec 0 0 00:00:00
15.002 sec 50 1.37 01:16:00
15.003 sec 0 0 00:00:00
Задайте временной шаг и имена для переменных.
sz = [3 2]; varTypes = {'double','double'}; TT = timetable('Size',sz,'VariableTypes',varTypes,'TimeStep',seconds(0.1),'VariableNames',{'Intensity','Distance'})
TT=3×2 timetable
Time Intensity Distance
_______ _________ ________
0 sec 0 0
0.1 sec 0 0
0.2 sec 0 0
Индексируйте во вторую строку, путем определения ее времени, и добавьте строку данных.
TT(seconds(0.1),:) = {93.6,11.27}
TT=3×2 timetable
Time Intensity Distance
_______ _________ ________
0 sec 0 0
0.1 sec 93.6 11.27
0.2 sec 0 0
Создайте расписание и задайте имена переменных расписания. Вектором времен строки является duration
вектор, модули которого являются секундами.
Time = seconds(1:5)'; TT = timetable(Time,[98;97.5;97.9;98.1;97.9],[120;111;119;117;116],... 'VariableNames',{'Reading1','Reading2'})
TT=5×2 timetable
Time Reading1 Reading2
_____ ________ ________
1 sec 98 120
2 sec 97.5 111
3 sec 97.9 119
4 sec 98.1 117
5 sec 97.9 116
Запуск в R2019b, можно задать имена переменных расписания, которые не являются допустимыми идентификаторами MATLAB®. Такие имена переменных могут включать пробелы, символы non-ASCII, и могут иметь любой символ как начальный символ.
Например, используйте даты в качестве имен переменных расписания, которые содержат показания.
TT = timetable(Time,[98;97.5;97.9;98.1;97.9],[120;111;119;117;116],... 'VariableNames',{'29-May-2019','30-May-2019'})
TT=5×2 timetable
Time 29-May-2019 30-May-2019
_____ ___________ ___________
1 sec 98 120
2 sec 97.5 111
3 sec 97.9 119
4 sec 98.1 117
5 sec 97.9 116
Чтобы использовать запись через точку, когда имя не будет допустимым идентификатором, включайте круглые скобки и кавычки.
TT.('29-May-2019')
ans = 5×1
98.0000
97.5000
97.9000
98.1000
97.9000
Используйте одинарные кавычки для этих входных имен:
'DimensionNames'
(начиная с R2021a)
'RowTimes'
'SampleRate'
'Size'
'StartTime'
'TimeStep'
'VariableTypes'
'VariableNames'
Чтобы избежать беспорядка с вводами переменной, не используйте дважды заключенные в кавычки строковые скаляры (такие как "RowTimes"
) для этих имен.
Для списка функций, которые принимают или возвращают расписания, см. Расписания.
В определенных случаях можно вызвать timetable
с синтаксисом, который задает шаг постоянного времени между временами строки, и все же timetable
возвращает неправильное расписание. Этот результат происходит, когда вы задаете временной шаг с помощью календарного модуля времени и существует время строки, которое вводит неправильный шаг. Например, если вы создаете расписание с временным шагом одного календарного месяца, начиная 31 января 2019, затем это неправильно относительно месяцев.
stime = datetime(2019,1,31); tstep = calmonths(1); TT = timetable('Size',[3 1],'VariableTypes',{'double'},... 'TimeStep',tstep,'StartTime',stime)
TT = 3×1 timetable Time Var1 ___________ ____ 31-Jan-2019 0 28-Feb-2019 0 31-Mar-2019 0
Существуют другие случаи, где неисправности происходят из-за сдвигов с Летнего времени (DST) или к datetime
значения, которые являются секундами прыжка. Эта таблица задает даты, времена и временные шаги, которые могут неожиданно привести к неправильным результатам.
Временная стоимость строки | Временной шаг |
---|---|
Время начала, заданное как 29-й, 30-й, или 31-й день месяца. | Номер календарных месяцев или четвертей. |
Время начала, заданное как 29 февраля. | Номер календарных лет. |
Любой datetime находящийся между значения 1:00 a.m. и 2:00 a.m. в день, переключая с DST до стандартного времени (когда такие значения имеют часовой пояс, который наблюдает DST). | Номер календарных дней или месяцев. |
Любой | Временной шаг задан в любом календарном модуле (дни, недели, месяцы, четверти, или годы). |
Поведение изменяется в R2019b
Таблица и имена переменных расписания с продвижением или конечными пробельными символами не изменяются.
В предыдущих релизах начальные и конечные пробельные символы были удалены из имен переменных, когда вы задали их использующий 'VariableNames'
аргумент пары "имя-значение", или присвоенный их VariableNames
свойство.
Чтобы вручную удалить такие символы, сначала используйте strtrim
функция на именах, затем присвойте их как имена переменных к таблице или расписанию.
'SamplingRate'
будет удаленПредупреждает запуск в R2021a
'SamplingRate'
аргумент значения имени будет удален в будущем релизе. Используйте 'SampleRate'
вместо этого. Соответствующее свойство расписания также называют SampleRate
.
Для обратной совместимости все еще можно задать 'SamplingRate'
как имя аргумента значения имени. Однако значение присвоено SampleRate
свойство.
Указания и ограничения по применению:
'SampleRate'
, 'TimeStep'
, и 'StartTime'
пары "имя-значение" не поддерживаются.
Создание. Существует несколько способов создать длинное расписание:
Задайте OutputType
свойство базового datastore как 'timetable'
так, чтобы операции чтения на datastore возвратили расписания. Затем преобразуйте datastore в длинный массив с tall(ds)
.
Поведение по умолчанию должно использовать первый datetime
или duration
переменная в данных в течение времен строки. Чтобы задать времена строки самостоятельно, используйте RowTimes
свойство datastore задать высокий datetime
или высокий duration
вектор времен строки.
Преобразуйте существующее использование длинной таблицы table2timetable
.
Преобразуйте существующее использование длинного массива array2timetable
.
Вручную создайте длинное расписание из переменных в длинной таблице с помощью timetable
конструктор.
ds = tabularTextDatastore('data/folder/path.csv'); tt = tall(ds); TT = timetable(rowTimes, tt.Var1, tt.Var2, ...)
Преобразуйте расписание в оперативной памяти в длинное расписание с помощью синтаксиса TT = tall(tt)
.
Индексация. timerange
, withtol
, и vartype
функции поддерживаются для индексации в длинные расписания.
Поддерживаемые Функции. Раздел Extended Capabilities в нижней части каждой страницы с описанием указывает, поддерживает ли эта функция длинные массивы, и если так, существуют ли любые ограничения при использовании функции с длинными расписаниями.
Для получения дополнительной информации см. Раздел "Высокие массивы".
Указания и ограничения по применению:
Начиная в R2020a, можно использовать расписания в MATLAB® код предназначается для генерации кода. Для получения дополнительной информации смотрите Генерацию кода для Расписаний (MATLAB Coder) и Ограничения Расписания для Генерации кода (MATLAB Coder).
Указания и ограничения по применению:
Только эти синтаксисы поддерживаются:
TT = timetable(
rowTimes
,var1,...,varN
)
TT = timetable(
var1,...,varN
,'RowTimes',rowTimes
)
TT = timetable(___,
'VariableNames'
,{'name1',...,'nameN'}
)
Все переменные данных должны быть распределены.
Для получения дополнительной информации смотрите функции MATLAB Запуска с Распределенными Массивами (Parallel Computing Toolbox).
array2timetable
| table2timetable
| summary
| uitable
| timetable2table
| table
| addprop
| rmprop
| timeseries
| timeseries2timetable
| extractTimetable
(Simulink)
У вас есть модифицированная версия этого примера. Вы хотите открыть этот пример со своими редактированиями?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.