Генерация кода из MATLAB® код поддерживает многие основные функции языка, включая:
n-мерные массивы (см. «Ограничения размера массивов для генерации кода»)
матричные операции, включая удаление строк и столбцов
данные переменного размера (см. «Генерация кода для массивов переменного размера»)
индексирование (см. «Несовместимость с MATLAB в операциях индексирования матриц для генерации кода»)
комплексные числа (см. «Генерация кода для комплексных данных»)
числовые классы (см. «Поддерживаемые типы переменных»)
двойная точность, одинарная точность и целочисленная математика
перечисления (см. Генерация кода для перечислений)
арифметика с фиксированной точкой
операторы управления программой if
, switch
, for
, while
, и break
арифметические, реляционные и логические операторы
локальные функции
постоянные переменные
глобальные переменные (см. «Задайте тип глобальной переменной и начальное значение с помощью приложения»)
структуры (см. Определение структуры для генерации кода)
массивы ячеек (см. «Массивы ячеек»)
таблицы (см. «Генерация кода для таблиц»)
timetables (см. Генерация кода для Timetables)
символы (см. «Кодирование символов в генерации кода»)
строковые скаляры (см. Генерация кода для строк)
categorical
массивы (см. «Генерация кода для категориальных массивов»)
datetime
arrays (см. «Генерация кода для массивов Datetime»)
duration
arrays (см. «Генерация кода для массивов типа Duration»)
разреженные матрицы (см. «Генерация кода для разреженных матриц»)
указатели на функцию (см. «Ограничения указателя на функцию для генерации кода»)
анонимные функции (см. Генерация кода для анонимных функций)
рекурсивные функции (см. Генерация кода для рекурсивных функций)
вложенные функции (см. «Генерация кода для вложенных функций»)
Входной и выходной списки аргументов переменной длины (см. «Генерация кода для списков аргументов переменной длины»)
подмножество функций MATLAB toolbox (см. «Функции и Объекты, поддерживаемые для генерации кода C/C + +»)
подмножество функций и системных объектов в нескольких тулбоксах (см. Функции и Объекты, поддерживаемые для генерации кода C/C + +)
Классы MATLAB (для генерации кода см. Определение классов MATLAB)
вызовы функций (см. Разрешение вызовов функций для генерации кода)
Генерация кода из MATLAB не поддерживает следующие часто используемые функции MATLAB (этот список не является исчерпывающим):
скрипты
неявное расширение
Генерация кода не поддерживает неявное расширение массивов с совместимыми размерами во время выполнения поэлементных операций или функций. Если ваш код MATLAB полагается на неявное расширение, генерация кода приводит к ошибке несоответствия размера. Для массивов с фиксированным размером ошибка возникает во время компиляции. Для массивов переменного размера ошибка возникает во время выполнения. Дополнительные сведения о неявном расширении см. в разделе Совместимые размеры массивов для основных операций. Для генерации кода, чтобы достичь неявного расширения, используйте bsxfun
.
Графические процессоры
MATLAB Coder™ не поддерживает массивы графических процессоров. Однако, если у вас есть GPU Coder™, можно сгенерировать CUDA® Код MEX, который принимает входы массива GPU.
calendarDuration
массивы
Java®
Контейнеры Map
объекты временных рядов
длинные массивы
try
/ catch
операторы
import
операторы
Валидация аргумента функции