Когда вы создаете datetime массивы в коде MATLAB®, который вы предназначаете для генерации кода, необходимо задать значения при помощи datetime функция. Смотрите Даты и Время (MATLAB).
Для datetime массивы, генерация кода не поддерживает следующие входные параметры и операции:
Разреженные матрицы.
Вводы текста. Например, задавая вектор символов, когда входной параметр производит ошибку.
function d = foo() %#codegen d = datetime('2019-12-01'); end
'Format' аргумент пары "имя-значение". Вы не можете задать формат отображения при помощи datetime функция, или путем установки Format свойство datetime массив. Чтобы использовать определенный формат отображения, создайте datetime массив в MATLAB, затем передайте его как входной параметр к функции, которая предназначается для генерации кода.
'TimeZone' аргумент пары "имя-значение". Весь datetime массивы, созданные в коде, предназначенном для генерации кода, являются незонными.
Установка свойств компонентов времени. Например, установка Hour свойство в следующем коде производит ошибку:
d = datetime; d.Hour = 2;
Рост присвоением. Например, присвоение значения вне конца массива производит ошибку.
function d = foo() %#codegen d = datetime(2019,1:12,1,12,0,0); d(13) = datetime(2020,1,1,12,0,0); end
Удаление элемента. Например, присвоение пустого массива к элементу производит ошибку.
function d = foo() %#codegen d = datetime(2019,1:12,1,12,0,0); d(1) = []; end
Преобразование datetime значения к тексту при помощи charcellstr, или string функции.
Ограничения, которые применяются к классам также, применяются к datetime массивы. Для получения дополнительной информации см. Определение Классов MATLAB для Генерации кода (MATLAB Coder).