timetable тип данных - это тип данных, подходящий для табличных данных со строками с временной меткой. Как и таблицы, расписания состоят из строк и ориентированных на столбцы переменных. Каждая переменная в расписании может иметь различный тип данных и различный размер с одним ограничением: каждая переменная должна иметь одинаковое количество строк.
Время строк расписания - это значения времени, маркирующие строки. Можно индексировать расписание по времени строки и переменной. Для индексирования в расписание используйте гладкие круглые скобки () для возврата вложенной таблицы или фигурных скобок {} для извлечения содержимого. Можно ссылаться на переменные и на вектор времени строки по их именам. Дополнительные сведения см. в разделе Расписания.
При использовании расписания с генерацией кода соблюдайте эти ограничения.
Для создания кода используйте timetable функция. Например, предположим, что входными аргументами для функции MATLAB ® являются три массива, которые имеют одинаковое количество строк (A, B, и C), a datetime или duration вектор, содержащий время строки (D) и массив ячеек с именами переменных (vnames). Можно создать расписание, содержащее эти массивы в качестве переменных расписания.
function TT = foo(A,B,C,D,vnames) %#codegen TT = table(A,B,C,'RowTimes',D,'VariableNames',vnames); end
Чтобы преобразовать массивы и таблицы в расписания, используйте array2timetable и table2timetable функции. Например, можно преобразовать входные данные Mоколо-N к расписанию, где каждый столбец матрицы становится переменной в расписании. Назначение времени строки с помощью duration вектор.
function TT = foo(A,D,vnames) %#codegen TT = array2timetable(A,'RowTimes',D,'VariableNames',vnames); end
Для создания кода при создании расписания необходимо указать имена переменных расписания. Имена переменных расписания не обязательно должны быть допустимыми идентификаторами MATLAB. Имена должны состоять из символов ASCII, но могут содержать любые символы ASCII (например, запятые, тире и пробелы).
Время строки может иметь либо datetime или duration тип данных.
Для создания кода вы ограничиваетесь операциями с расписаниями, перечисленными в этой таблице.
| Операция | Пример | Примечания |
|---|---|---|
Оператор назначения: |
TT = timetable(A,B,C,'RowTimes',D,'VariableNames',vnames); TT{:,1} = X; | Создание кода не поддерживает использование оператора присвоения
|
Операция индексирования |
D = seconds(1:10); TT = timetable(A,B,C,'RowTimes',D,'VariableNames',vnames); TT(seconds(3:7),1:3); | Создание кода поддерживает индексирование по положению, времени переменной или строки и логическое индексирование. Кроме того, можно индексировать объекты, созданные с помощью Генерация кода поддерживает:
|
Связь |
TT1 = timetable(A,B,C,'RowTimes',D1,'VariableNames',vnames); TT2 = timetable(D,E,F,'RowTimes',D2,'VariableNames',vnames); TT = [TT1 ; TT2]; | Генерация кода поддерживает конкатенацию расписания.
|
Для создания кода можно использовать расписания со следующими функциями панели инструментов MATLAB: