exponenta event banner

Создание кода для расписания

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);

Создание кода поддерживает индексирование по положению, времени переменной или строки и логическое индексирование. Кроме того, можно индексировать объекты, созданные с помощью timerange или withtol функции.

Генерация кода поддерживает:

  • Индексация расписания с гладкими скобками, ().

  • Индексация содержимого с фигурными скобками, {}.

  • Точечная нотация для доступа к переменной расписания.

Связь

TT1 = timetable(A,B,C,'RowTimes',D1,'VariableNames',vnames);
TT2 = timetable(D,E,F,'RowTimes',D2,'VariableNames',vnames);
TT = [TT1 ; TT2];

Генерация кода поддерживает конкатенацию расписания.

  • Для вертикальной конкатенации расписания должны иметь переменные с одинаковыми именами в том же порядке.

  • Для горизонтальной конкатенации расписания должны иметь одинаковое количество строк. Они также должны иметь одно и то же время строки в одном и том же порядке.

Функции панели инструментов MATLAB, поддерживающие расписание

Для создания кода можно использовать расписания со следующими функциями панели инструментов MATLAB:

Связанные темы