Эффективность

Инструкции по повышению эффективности сгенерированного кода

Блоки

MATLAB FunctionВключите код MATLAB в модели, которые генерируют встраиваемый код С

Функции

coder.inlineУправляйте встраиванием определенной функции в сгенерированный код
coder.unrollРазблокируйте for-loop путем создания копии тела цикла для каждой итерации цикла
coder.constСложите выражения в константы в сгенерированном коде

Примеры и как

Развертывание циклов for-Loops

Цикл управления.

Встроенный код

Inlining устраняет накладные расходы на вызов функции путем замены вызова функции телом функции.

Избегайте копий данных входных параметров функции в сгенерированном коде

Сгенерируйте код, который передает входные параметры по ссылке.

Сгенерируйте переиспользуемый код

Чтобы повторно использовать функции, сохраните их в файлах или интегрируйте внешние функции в сгенерированный код.

Проверки во время выполнения управления

Повышение эффективности за счет отключения проверок во время выполнения.

Концепции

LAPACK вызывает линейную алгебру в блоке MATLAB function

Вызовы функций LAPACK улучшают скорость симуляции алгоритмов MATLAB Function блоков, которые вызывают определенные функции линейной алгебры.

BLAS вызывает матричные операции в блоке MATLAB function

Вызовы функций BLAS улучшают скорость симуляции MATLAB Function алгоритмов блоков, которые вызывают определенные низкоуровневые векторные и матричные функции.

FFTW вызывает функции быстрого преобразования Фурье в блоке MATLAB function

Вызовы функций FFTW улучшают скорость симуляции MATLAB Function алгоритмов блоков, которые вызывают MATLAB® функции быстрого преобразования Фурье (FFT).