Для некоторых блоков включите оптимизированные алгоритмы для генерации кода в основном формате строки и соответствующие алгоритмы в основной строке для симуляции модели.
Category: математические и типы данных
По умолчанию: Off
Когда Array layout (Simulink Coder) установлено в Row-majorгенератор кода использует алгоритмы, чтобы сохранить непротиворечивость числовых результатов между симуляцией и сгенерированным кодом. Иногда сгенерированный код для этих алгоритмов может быть неэффективным. Можно включить параметр конфигурации Use algorithms optimized for row-major array layout, чтобы включить эффективные алгоритмы, оптимизированные для определенных блоков. Параметр Use algorithms optimized for row-major array layout влияет на симуляцию и сгенерированный код.
Этот параметр влияет только на эти блоки:
Сумма элементов
Продукт элементов
Интерполяционная таблица n-D
Интерполяция с использованием Prelookup
Интерполяционная таблица (n-D)
Для этих блоков алгоритмы column-major и row-major могут отличаться в порядке выхода вычислений, что, возможно, приводит к немного другим числовым значениям.
Когда Array layout установлено на Row-major, этот параметр позволяет использовать эффективные алгоритмы, которые проходят через данные в основном порядке строк. Сгенерированный код эффективен.
Когда Array layout установлено на Column-major, этот параметр позволяет использовать алгоритмы, которые проходят через данные в основном порядке строк. Сгенерированный код неэффективен.
Когда Array layout установлено на Row-majorгенератор кода использует алгоритмы, которые проходят через данные в основном порядке столбца. Сгенерированный код неэффективен.
Когда Array layout установлено на Column-majorгенератор кода использует алгоритмы, которые проходят через данные в основном порядке столбца. Сгенерированный код эффективен.
Когда Array layout установлено на Row-majorалгоритм основной строки работает с данными таблицами которые смежны в памяти. Данные этой таблицы приводят к более быстрому доступу к кэшу, что делает эти алгоритмы удобными для кэша.
В этой таблице обобщены отношения между размещением массива и удобными для кэша алгоритмами. Это лучшая практика, чтобы использовать алгоритм, который оптимизирован для заданного размещения массива, чтобы достичь хорошей эффективности. Например, выберите Use algorithms optimized for row-major array layout, когда для Array layout задано значение Row-major для генерации кода.
ArrayLayout | UseRowMajorAlgorithm | Примененный алгоритм |
|---|---|---|
Column-major | 'off' | Эффективный алгоритм основного столбца Рекомендуется |
Row-major | 'off' | Неэффективный алгоритм главного столбца Не рекомендуется |
Column-major | 'on' | Неэффективный алгоритм большой строки Не рекомендуется |
Row-major | 'on' | Эффективный алгоритм основной строки Рекомендуется |
Параметр:
UseRowMajorAlgorithm |
| Тип: Вектор символов |
Значение:
'on' | 'off' |
По умолчанию:
'off' |
| Приложение | Настройка |
|---|---|
| Отладка | Никакого влияния |
| Трассируемость | Никакого влияния |
| Эффективность | Никакого влияния |
| Меры безопасности | Никакого влияния |