Генерация кода для массивов типа Duration

Значения в массиве длительности представляют истекшее время в единицах фиксированной длины, таких как часы, минуты и секунды. Вы можете создать истекшее время в терминах фиксированной длины (24 часа) и фиксированной длины (365 .2425 дня) лет.

Можно добавлять, вычитать, сортировать, сравнивать, конкатенировать и отображать массивы длительности.

Когда вы используете массивы длительности с генерацией кода, придерживайтесь этих ограничений.

Задайте массивы типа Duration для генерации кода

Для генерации кода используйте duration функция для создания массивов длительности. Например, предположим, что входные аргументы в MATLAB® функция является тремя числовыми массивами произвольного размера, элементы которых задают интервалы времени как часы, минуты и секунды. Можно создать массив длительности из этих трех входных массивов.

function d = foo(h,m,s) %#codegen
    d = duration(h,m,s);
end

Вы можете использовать years, days, hours, minutes, seconds, и milliseconds функции для создания массивов длительности в единицах лет, дней, часов, минут или секунд. Для примера можно создать массив часов из входа числового массива.

function d = foo(h) %#codegen
    d = hours(h);
end

Разрешенные операции с массивами типа Duration

Для генерации кода вы ограничены операциями с массивами длительности, перечисленными в этой таблице.

ОперацияПримерПримечания

оператор назначения: =

d = duration(1:3,0,0);
d(1) = hours(5);

Генерация кода не поддерживает использование оператора назначения = кому:

  • Удалите элемент.

  • Разверните размер массива длительности.

реляционные операторы: < > <= >= == ~=

d = duration(1:3,0,0);
tf = d(1) < d(2);

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

операция индексации

d = duration(1:3,0,0);
idx = [1 2];
d(idx);
idx = logical([1 1 0]);
d(idx);

Генерация кода поддерживает индексацию по положению, линейную индексацию и логическую индексацию.

конкатенация

d1 = duration(1:3,0,0);
d2 = duration(4,30,0);
d = [d1 d2];

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

MATLAB Тулбокса функции, которые Поддержка Массивов типа Duration

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

Похожие темы