Можно сгенерировать эффективный код C/C++ для подмножества встроенных функций MATLAB® и функций тулбокса и Системных объектов, которые вы вызываете из кода MATLAB. Эти функции и Системные объекты перечислены категорией MATLAB или категорией тулбокса в следующих таблицах.
Для алфавитного списка поддерживаемых функций и Системных объектов, смотрите Функции и Объекты, Поддержанные для Генерации кода C/C++ — Алфавитный список.
Для получения дополнительной информации о генерации кода для алгоритмов фиксированной точки обратитесь к Ускорению Кода и Генерации кода из MATLAB (Fixed-Point Designer).
C и генерация Кода С++ для следующих функций требует программного обеспечения 5G Toolbox™.
Звездочка (*) указывает, что страница с описанием имеет указания и ограничения по применению для генерации кода C/C++.
C и генерация Кода С++ для следующих кватернионных функций Aerospace Toolbox требует программного обеспечения Aerospace Blockset™.
Звездочка (*) указывает, что страница с описанием имеет указания и ограничения по применению для генерации кода C/C++.
См. Массив по сравнению Матричные операции (MATLAB) для подробных описаний следующего оператора эквивалентные функции.
Звездочка (*) указывает, что страница с описанием имеет указания и ограничения по применению для генерации кода C/C++.
|
C и генерация Кода С++ для следующих функций и Системных объектов требует программного обеспечения Audio Toolbox™.
Звездочка (*) указывает, что страница с описанием имеет указания и ограничения по применению для генерации кода C/C++.
Имя |
---|
Аудио ввод-вывод и Генерация Формы волны |
Проект алгоритма обработки аудиоданных |
Выделение признаков и глубокое обучение |
Измерение и пространственное аудио |
Аудио плагины |
C и генерация Кода С++ для следующих функций и Системных объектов требует программного обеспечения Automated Driving Toolbox™.
Звездочка (*) указывает, что страница с описанием имеет указания и ограничения по применению для генерации кода C/C++.
Отслеживание и Fusion датчика |
Планирование пути и управление автомобилем |
|
Звездочка (*) указывает, что страница с описанием имеет указания и ограничения по применению для генерации кода C/C++.
Звездочка (*) указывает, что страница с описанием имеет указания и ограничения по применению для генерации кода C/C++.
Звездочка (*) указывает, что страница с описанием имеет указания и ограничения по применению для генерации кода C/C++.
C и генерация Кода С++ для следующих функций и Системных объектов требует программного обеспечения Communications Toolbox™.
Звездочка (*) указывает, что страница с описанием имеет указания и ограничения по применению для генерации кода C/C++.
Звездочка (*) указывает, что страница с описанием имеет указания и ограничения по применению для генерации кода C/C++.
C и генерация Кода С++ для следующих функций и Системных объектов требует программного обеспечения Computer Vision Toolbox™.
Звездочка (*) указывает, что страница с описанием имеет указания и ограничения по применению для генерации кода C/C++.
Звездочка (*) указывает, что страница с описанием имеет указания и ограничения по применению для генерации кода C/C++.
C и генерация Кода С++ для следующих функций требует программного обеспечения Control System Toolbox™.
Звездочка (*) указывает, что страница с описанием имеет указания и ограничения по применению для генерации кода C/C++.
Звездочка (*) указывает, что страница с описанием имеет указания и ограничения по применению для генерации кода C/C++.
Звездочка (*) указывает, что страница с описанием имеет указания и ограничения по применению для генерации кода C/C++.
Звездочка (*) указывает, что страница с описанием имеет указания и ограничения по применению для генерации кода C/C++.
C и генерация Кода С++ для следующих функций требует программного обеспечения Deep Learning Toolbox™.
Звездочка (*) указывает, что страница с описанием имеет указания и ограничения по применению для генерации кода C/C++.
Можно использовать genFunction
в Deep Learning Toolbox, чтобы сгенерировать автономную функцию MATLAB для обученной нейронной сети. Можно сгенерировать код C/C++ от этой автономной функции MATLAB. Чтобы сгенерировать блоки Simulink®, используйте функцию gensim
. Смотрите Развертывают Мелкие Функции Нейронной сети (Deep Learning Toolbox).
Звездочка (*) указывает, что страница с описанием имеет указания и ограничения по применению для генерации кода C/C++.
Звездочка (*) указывает, что страница с описанием имеет указания и ограничения по применению для генерации кода C/C++.
Звездочка (*) указывает, что страница с описанием имеет указания и ограничения по применению для генерации кода C/C++.
Генерация кода C для следующих функций и Системных объектов требует лицензии DSP System Toolbox™. Много функций DSP System Toolbox требуют постоянных входных параметров для генерации кода. Смотрите Задают Постоянные Входные Параметры Используя Приложение и Задают Постоянные Входные параметры в Командной строке.
Звездочка (*) указывает, что страница с описанием имеет указания и ограничения по применению для генерации кода C/C++.
Имя |
---|
Оценка |
Фильтры |
|
Отфильтруйте проект |
Математические операции |
dsp.UpperTriangularSolver * |
Квантизаторы |
Осциллографы |
Управление сигнала |
Операции сигнала |
Приемники |
Источники |
Статистика |
Преобразовывает |
Звездочка (*) указывает, что страница с описанием имеет указания и ограничения по применению для генерации кода C/C++.
Звездочка (*) указывает, что страница с описанием имеет указания и ограничения по применению для генерации кода C/C++.
Следующие общие ограничения применяются к использованию функций Fixed-Point Designer™ в сгенерированном коде с fiaccel
:
fipref
и объекты quantizer
не поддержаны.
Размеры слова, больше, чем 128 битов, не поддержаны.
Вы не можете изменить fimath
или numerictype
данной переменной fi
после того, как та переменная была создана.
Значение boolean
свойств DataTypeMode
и DataType
не поддержано.
Для всех настроек свойства SumMode
кроме FullPrecision
свойство CastBeforeSum
должно быть установлено в true
.
Можно использовать параллель для (parfor
) циклы в коде, скомпилированном с fiaccel
, но те циклы обработаны как регулярные циклы for
.
Когда вы компилируете код, содержащий объекты fi
с нетривиальным наклоном и масштабированием смещения, можно видеть, что различные результаты в сгенерированном коде, чем вы достигают путем выполнения того же кода в MATLAB.
Общие ограничения кода C/C++, сгенерированного из MATLAB, применяются. Для получения дополнительной информации смотрите Функции языка MATLAB, Поддерживавшие для Генерации кода C/C++.
Звездочка (*) указывает, что страница с описанием имеет указания и ограничения по применению для генерации кода C/C++.
C и генерация Кода С++ для следующих функций требует программного обеспечения Fuzzy Logic Toolbox™.
Звездочка (*) указывает, что страница с описанием имеет указания и ограничения по применению для генерации кода C/C++.
Звездочка (*) указывает, что страница с описанием имеет указания и ограничения по применению для генерации кода C/C++.
Если вы устанавливаете программное обеспечение Image Acquisition Toolbox™, можно сгенерировать C и Код С++ для Системы VideoDevice object™. Смотрите imaq.VideoDevice
и Генерацию кода с Системным объектом VideoDevice (Image Acquisition Toolbox).
В следующей таблице перечислены функции Image Processing Toolbox™, которые были включены для генерации кода. Необходимо было установить программное обеспечение MATLAB Coder™ и Image Processing Toolbox, чтобы сгенерировать код С из MATLAB для этих функций.
Image Processing Toolbox обеспечивает три типа поддержки генерации кода:
Функции, которые генерируют код С.
Функции, которые генерируют код С, который зависит от специфичной для платформы разделяемой библиотеки (.dll
, .so
или .dylib
). Использование разделяемой библиотеки сохраняет оптимизацию производительности в этих функциях, но это ограничивает целевые платформы, для которых можно сгенерировать код. Для получения дополнительной информации смотрите Генерацию кода для Обработки изображений (Image Processing Toolbox).
Функции, которые генерируют код С или код С, который зависит от разделяемой библиотеки, в зависимости от которой целевой платформы вы задаете в MATLAB Coder. Если вы задаете типичную целевую платформу MATLAB Host Computer
, эти функции генерируют код С, который зависит от разделяемой библиотеки. Если вы задаете какую-либо другую целевую платформу, эти функции генерируют код С.
В сгенерированном коде каждая поддерживаемая функция тулбокса имеет то же имя, аргументы и функциональность как ее дубликат Image Processing Toolbox. Однако некоторые функции имеют ограничения. Следующая таблица включает информацию об ограничениях генерации кода, которые могут существовать для каждой функции. В следующей таблице все функции генерируют код С. Таблица идентифицирует те функции, которые генерируют код С, который зависит от разделяемой библиотеки и тех функций, которые могут сделать обоих, в зависимости от которой целевой платформы вы выбираете.
Звездочка (*) указывает, что страница с описанием имеет указания и ограничения по применению для генерации кода C/C++.
Звездочка (*) указывает, что страница с описанием имеет указания и ограничения по применению для генерации кода C/C++.
Звездочка (*) указывает, что страница с описанием имеет указания и ограничения по применению для генерации кода C/C++.
C и генерация Кода С++ для следующих функций требует программного обеспечения MATLAB Compiler™.
Звездочка (*) указывает, что страница с описанием имеет указания и ограничения по применению для генерации кода C/C++.
Звездочка (*) указывает, что страница с описанием имеет указания и ограничения по применению для генерации кода C/C++.
C и генерация Кода С++ для следующей функции требует Model Predictive Control Toolbox™.
Звездочка (*) указывает, что страница с описанием имеет указания и ограничения по применению для генерации кода C/C++.
Звездочка (*) указывает, что страница с описанием имеет указания и ограничения по применению для генерации кода C/C++.
Звездочка (*) указывает, что страница с описанием имеет указания и ограничения по применению для генерации кода C/C++.
C и генерация Кода С++ для следующих функций и Системных объектов требует Optimization Toolbox™.
Звездочка (*) указывает, что страница с описанием имеет указания и ограничения по применению для генерации кода C/C++.
C и генерация Кода С++ для следующих функций и Системных объектов требует программного обеспечения Phased Array System Toolbox™.
Звездочка (*) указывает, что страница с описанием имеет указания и ограничения по применению для генерации кода C/C++.
Звездочка (*) указывает, что страница с описанием имеет указания и ограничения по применению для генерации кода C/C++.
Звездочка (*) указывает, что страница с описанием имеет указания и ограничения по применению для генерации кода C/C++.
Звездочка (*) указывает, что страница с описанием имеет указания и ограничения по применению для генерации кода C/C++.
Звездочка (*) указывает, что страница с описанием имеет указания и ограничения по применению для генерации кода C/C++.
Звездочка (*) указывает, что страница с описанием имеет указания и ограничения по применению для генерации кода C/C++.
Генерация кода C/C++ для следующих функций требует программного обеспечения Robotics System Toolbox™.
Звездочка (*) указывает, что страница с описанием имеет указания и ограничения по применению для генерации кода C/C++.
Звездочка (*) указывает, что страница с описанием имеет указания и ограничения по применению для генерации кода C/C++.
C и генерация Кода С++ для следующих функций требует программного обеспечения Sensor Fusion and Tracking Toolbox™.
Звездочка (*) указывает, что страница с описанием имеет указания и ограничения по применению для генерации кода C/C++.
|
|
|
|
|
|
|
|
|
|
correct AsyncMARGGPSFuser |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
C и генерация Кода С++ для следующих функций требует программного обеспечения SerDes Toolbox™.
Звездочка (*) указывает, что страница с описанием имеет указания и ограничения по применению для генерации кода C/C++.
Звездочка (*) указывает, что страница с описанием имеет указания и ограничения по применению для генерации кода C/C++.
Звездочка (*) указывает, что страница с описанием имеет указания и ограничения по применению для генерации кода C/C++.
C и генерация Кода С++ для следующих функций требует программного обеспечения Signal Processing Toolbox™. Эти функции не поддерживают входные параметры переменного размера, необходимо задать размер и тип входных параметров функции. Для получения дополнительной информации смотрите Входные параметры Определения в Генерации кода из MATLAB (Signal Processing Toolbox).
Много функций Signal Processing Toolbox требуют постоянных входных параметров в сгенерированном коде. Чтобы задать постоянный вход для codegen
, используйте coder.Constant
.
Звездочка (*) указывает, что страница с описанием имеет указания и ограничения по применению для генерации кода C/C++.
Звездочка (*) указывает, что страница с описанием имеет указания и ограничения по применению для генерации кода C/C++.
Звездочка (*) указывает, что страница с описанием имеет указания и ограничения по применению для генерации кода C/C++.
C и генерация Кода С++ для следующих функций требует программного обеспечения Statistics and Machine Learning Toolbox™.
Звездочка (*) указывает, что страница с описанием имеет указания и ограничения по применению для генерации кода C/C++.
Описательная статистика и визуализация |
geomean * |
grp2idx * |
harmmean * |
iqr |
kurtosis * |
|
Распределения вероятностей |
|
|
|
|
|
|
Кластерный анализ |
pdist * |
|
squareform * |
Регрессия |
glmval * |
loadCompactModel |
predict * GeneralizedLinearModel и CompactGeneralizedLinearModel |
predict * LinearModel и CompactLinearModel |
predict * RegressionEnsemble , RegressionBaggedEnsemble и CompactRegressionEnsemble |
predict * RegressionGP и CompactRegressionGP |
predict * RegressionLinear |
predict * RegressionSVM и CompactRegressionSVM |
predict * RegressionTree и CompactRegressionTree |
random * GeneralizedLinearModel и CompactGeneralizedLinearModel |
random * LinearModel и CompactLinearModel |
update * CompactRegressionSVM |
GeneralizedLinearModel * и CompactGeneralizedLinearModel * |
LinearModel * и CompactLinearModel * |
RegressionEnsemble *, RegressionBaggedEnsemble *, и CompactRegressionEnsemble * |
RegressionGP * и CompactRegressionGP * |
RegressionLinear * |
RegressionSVM * и CompactRegressionSVM * |
RegressionTree * и CompactRegressionTree * |
Классификация |
loadCompactModel |
predict * ClassificationECOC и CompactClassificationECOC |
predict * ClassificationEnsemble , ClassificationBaggedEnsemble и CompactClassificationEnsemble |
predict * ClassificationDiscriminant и CompactClassificationDiscriminant |
predict * ClassificationKNN |
predict * ClassificationLinear |
predict * ClassificationNaiveBayes и CompactClassificationNaiveBayes |
predict * ClassificationSVM и CompactClassificationSVM |
predict * ClassificationTree и CompactClassificationTree |
update * CompactClassificationSVM |
ClassificationECOC * и CompactClassificationECOC * |
ClassificationEnsemble *, ClassificationBaggedEnsemble *, и CompactClassificationEnsemble * |
ClassificationDiscriminant * и CompactClassificationDiscriminant * |
ClassificationKNN * |
ClassificationLinear * |
ClassificationNaiveBayes * и CompactClassificationNaiveBayes * |
ClassificationSVM * и CompactClassificationSVM * |
ClassificationTree * и CompactClassificationTree * |
Сокращение размерности |
|
Промышленная статистика |
coxphfit * |
C и генерация Кода С++ для следующих функций и Системных объектов требует программного обеспечения System Identification Toolbox™.
Звездочка (*) указывает, что страница с описанием имеет указания и ограничения по применению для генерации кода C/C++.
Звездочка (*) указывает, что страница с описанием имеет указания и ограничения по применению для генерации кода C/C++.
Звездочка (*) указывает, что страница с описанием имеет указания и ограничения по применению для генерации кода C/C++.
C и генерация Кода С++ для следующих функций требует программного обеспечения Wavelet Toolbox™.
Звездочка (*) указывает, что страница с описанием имеет указания и ограничения по применению для генерации кода C/C++.
Частота времени преобразовывает |
Анализ сигнала |
Анализ изображения |
Шумоподавление |
|
Ортогональные и биоортогональные наборы фильтров |
C и генерация Кода С++ для следующих функций и Системных объектов требует программного обеспечения WLAN Toolbox™.
Звездочка (*) указывает, что страница с описанием имеет указания и ограничения по применению для генерации кода C/C++.
Моделирование MAC |
|
Моделирование PHY |
Передача сигнала |
Прием сигнала |
|
|
Модели канала распространения |
|
|
Тест и измерение |
Функциональность WLAN Toolbox с блоком MATLAB function не поддержана.