timetable
тип данных является типом данных, подходящим для табличных данных со строками с меткой времени. Как таблицы, расписания состоят из строк и ориентированных на столбец переменных. Каждая переменная в расписании может иметь другой тип данных и различный размер с одним ограничением: каждая переменная должна иметь одинаковое число строк.
Времена строки расписания являются временными стоимостями, которые помечают строки. Можно индексировать в расписание ко времени строки и переменной. Чтобы индексировать в расписание, используйте сглаженные круглые скобки ()
возвратить подтаблицу или фигурные скобки {}
извлекать содержимое. Можно обратиться к переменным и к вектору времен строки их именами. Для получения дополнительной информации см. Расписания.
Когда вы используете расписания с генерацией кода, придерживаетесь этих ограничений.
Для генерации кода используйте timetable
функция. Например, предположите, что входные параметры к вашей функции MATLAB® являются тремя массивами, которые имеют одинаковое число строк (A
B
, и C
), 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; | Генерация кода не поддерживает использование оператора присваивания
|
Операция Indexing |
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: