По умолчанию, сгенерированный код для следующих блоков интерполяционной таблицы включают условные операторы, которые проверяют на точку останова из области значений или индексируют входные параметры:
Чтобы сгенерировать код, который более эффективен, можно удалить условные операторы, которые защищают от входных значений из области значений.
Блок | Флажок, чтобы выбрать |
---|---|
1D интерполяционная таблица | Удалите защиту от входного параметра из области значений в сгенерированном коде |
2D интерполяционная таблица | |
Интерполяционная таблица n-D | |
Предварительный поиск | |
Интерполяция Используя предварительный поиск | Удалите защиту от индекса из области значений в сгенерированном коде |
Установка флажка на блочном диалоговом окне повышает эффективность кода, потому что существует меньше операторов, чтобы выполниться. Однако, если вы генерируете код для важных приложений безопасности, вы не должны удалять код проверки диапазона.
Чтобы проверить использование флажка, осуществите следующие Образцовые проверки Советника и выполните рекомендуемые действия.
Образцовая проверка советника | Когда осуществить проверку |
---|---|
Продуктом> Embedded Coder> Идентифицирует блоки интерполяционной таблицы, которые генерируют дорогой код проверки из области значений | Для эффективности кода |
Продуктом> Simulink Check> Моделирование Стандартов> DO-178C/DO-331 Проверки> использование Проверки блоков интерполяционной таблицы | Для важных приложений безопасности |
Для получения дополнительной информации об Образцовом Советнике, смотрите Советника по вопросам Модели Выбора и Выполнения Регистрации документации Simulink®.
Когда точки останова в интерполяционной таблице являются настраиваемыми, интервал не влияет на эффективность или использование памяти сгенерированного кода. Когда точки останова не являются настраиваемыми, тип интервала может влиять на следующие факторы.
Фактор | Даже степень 2 расположенных с интервалами данных | Равномерно распределенные данные | Неравномерно распределенные данные |
---|---|---|---|
Скорость выполнения | Скорость выполнения является самой быстрой. Поиск положения и интерполяция эквивалентны для равномерно распределенных данных. Однако, чтобы увеличить скорость немного больше для фиксированных точек, немного сдвига заменяет поиск положения, и немного маски заменяет интерполяцию. | Скорость выполнения быстрее, чем это для неравномерно распределенных данных, потому что поиск положения быстрее, и интерполяция использует простое деление. | Скорость выполнения является самой медленной из различных интервалов, потому что поиск положения медленнее, и интерполяция требует большего количества операций. |
Ошибка | Ошибка может быть больше, чем это для неравномерно распределенных данных, потому что приближение функции с неоднородным искривлением требует, чтобы больше точек достигло той же точности. | Ошибка может быть больше, чем это для неравномерно распределенных данных, потому что приближение функции с неоднородным искривлением требует, чтобы больше точек достигло той же точности. | Ошибка может быть меньшей, потому что приближение функции с неоднородным искривлением требует, чтобы меньше точек достигло той же точности. |
Использование ROM | Использование меньше команды ROM, но больше данных ROM. | Использование меньше команды ROM, но больше данных ROM. | Использование больше команды ROM, но меньше данных ROM. |
Использование оперативной памяти | Не значительный. | Не значительный. | Не значительный. |
Следуйте этим инструкциям:
Для типов данных фиксированной точки используйте точки останова с даже, power-2 интервал.
Для типов данных нефиксированной точки используйте точки останова с ровным интервалом.
Чтобы идентифицировать возможности для того, чтобы повысить эффективность кода в блоках интерполяционной таблицы, осуществите следующие Образцовые проверки Советника и выполните рекомендуемые действия:
Продуктом> Embedded Coder> Идентифицируют сомнительные операции фиксированной точки
Продуктом> Embedded Coder> Идентифицирует блоки, которые генерируют дорогую насыщенность и округление кода
Для получения дополнительной информации об Образцовом Советнике, смотрите Советника по вопросам Модели Выбора и Выполнения Регистрации документации Simulink.
Когда вы используете переменные рабочей области для таблицы store и устанавливаете точки останова данные для блоков Интерполяционной таблицы, и затем конфигурируете эти переменные для приспособляемости, можно избежать копий данных при помощи совпадающего типа данных для блочного параметра и переменной. Переменные рабочей области включают числовые переменные MATLAB®, и Simulink.Parameter
возражает, что вы храните в рабочей области, такой как базовое рабочее пространство, или в словаре данных. Если тип данных переменной меньше, чем тип данных блочного параметра, сгенерированный код неявно бросает тип данных переменной к типу данных блочного параметра. Этот неявный бросок требует копии данных, которая может потенциально значительно увеличить потребление RAM и замедлить скорость выполнения кода для больших векторов или матриц.
Для получения дополнительной информации смотрите Типы данных параметров в Сгенерированном коде (Embedded Coder) и Создайте Настраиваемый Калибровочный Параметр в Сгенерированном коде (Simulink Coder).
Чтобы сгенерировать эффективный код для размещения главного массива строки, выберите образцовую Математику параметра конфигурации и Типы данных> алгоритмы Использования, оптимизированные для размещения главного массива строки. Главные строкой алгоритмы выполняют с лучшей скоростью и использованием памяти при работе с табличными данными с размещением главного массива строки. Точно так же главные столбцом алгоритмы по умолчанию выполняют лучше всего с размещением главного массива столбца. Рассмотрите использование алгоритма, который оптимизирован для заданного размещения массивов, чтобы достигнуть лучшей производительности. Например, используйте главные строкой алгоритмы, когда размещение массивов будет установлено как главное строкой во время генерации кода.
Размещение массивов | Алгоритм | Благоприятный для кэша алгоритм |
---|---|---|
Главный столбцом | Главный столбцом | Рекомендуемый |
Главный строкой | Главный строкой | Рекомендуемый |
Главный строкой | Главный столбцом | Не рекомендуемый |
Главный столбцом | Главный строкой | Не рекомендуемый |
Для получения дополнительной информации смотрите Главное Столбцом Размещение к Главному строкой Преобразованию Размещения Моделей с Блоками Интерполяционной таблицы (Simulink Coder).
Интерполяция Используя предварительный поиск | Предварительный поиск | Интерполяционная таблица n-D