Генерация кода для Массивов типа 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:

Похожие темы