Оптимизатор таблицы подстановки оптимизирует интервалы между точками останова и типами данных таблицы подстановки, чтобы уменьшить объем памяти, используемой таблицей подстановки. С помощью оптимизатора таблиц подстановки и его эквивалента в командной строке можно:
Оптимизация существующего блока таблицы подстановки.
Создайте таблицу подстановки из блока Simulink ®, включая блок математической функции или подсистему.
Создание таблицы подстановки из дескриптора функции или функции.
Чтобы оптимизировать существующую таблицу подстановки, откройте модель, содержащую блок Таблица подстановки.
load_system('sldemo_fuelsys'); open_system('sldemo_fuelsys/fuel_rate_control/airflow_calc');
Pumping Constant
Блок таблицы подстановки.Чтобы открыть оптимизатор таблицы подстановки, выберите Pumping Constant
Блок таблицы подстановки. Контекстно-зависимая вкладка «Таблица подстановки» отображается на панели инструментов Simulink. На вкладке Таблица подстановки выберите Оптимизатор таблицы подстановки.
Выберите тип блока, который требуется оптимизировать. Чтобы оптимизировать блок или подсистему Simulink, включая существующий блок таблицы подстановки или блок математической функции, выберите блок или подсистему Simulink. Для создания аппроксимации таблицы подстановки для дескриптора функции выберите MATLAB Function Handle.
В этом примере выберите блок или подсистему Simulink для оптимизации Pumping Constant таблица подстановки. Нажмите кнопку Далее.
В разделе «Информация о блоках» введите путь к Pumping Constant
Блок таблицы подстановки. Выберите блок в модели, затем щелкните Получить текущий блок (Get Current Block) в оптимизаторе таблицы подстановки (Lookup Table Optimizer), чтобы автоматически заполнить путь к блоку.
Щелкните Собрать текущие значения из модели (Collect Current Values from Model), чтобы обновить схему модели и позволить оптимизатору таблицы подстановки автоматически собирать информацию, необходимую для процесса оптимизации, включая текущий тип выходных данных, номер ввода, тип данных и диапазон значений. Можно вручную редактировать все эти поля для указания диапазонов и типов данных, отличных от тех, которые в настоящее время указаны в блоке.
Укажите требуемый тип выходных данных созданной таблицы подстановки в качестве numerictype или Simulink.NumericType объект.
Укажите тип данных каждого ввода в блок как numerictype или Simulink.NumericType объект.
Укажите минимальное и максимальное значения каждого входа созданной таблицы подстановки в виде скаляров в таблице.
В этом примере используются текущие значения, указанные в модели. Нажмите кнопку Далее.
Укажите ограничения, которые будут использоваться при оптимизации. Задайте допуск ошибки вывода, приемлемый для проекта.
Абсолютный допуск определяется как абсолютное значение разности между исходным выходным значением и выходным значением оптимизированной таблицы поиска.
Относительный допуск измеряет ошибку относительно значения в этой точке, указанного как неотрицательный.
Укажите разрешенные длины слов в виде вектора на основе типов, которые эффективны для целевого оборудования. Например, если требуется разрешить оптимизатору учитывать только 8-, 16- и 32-разрядные типы, укажите [8 16 32] в поле Допустимая длина слова (вектор).
Чтобы задать дополнительные свойства для оптимизированной таблицы подстановки, щелкните Спецификация LUT (LUT Specification). Дополнительные сведения о каждом из свойств см. в разделе FunctionApproximation.Options. В этом примере используются значения по умолчанию для этих свойств.
Укажите параметры оптимизации, такие как максимальное время или максимальное использование памяти для созданной таблицы подстановки, нажав
кнопку.
После установки ограничений нажмите кнопку «Оптимизировать».
При необходимости можно остановить решатель оптимизации до его завершения, нажав кнопку Остановить (Stop). Оптимизатор выберет лучшее решение, найденное на момент нажатия кнопки «Остановить», и отобразит его в приложении.
По завершении оптимизации оптимизатор сообщает память оптимизированной таблицы поиска. Можно отредактировать ограничения и запустить оптимизацию еще раз, чтобы добиться дальнейшего сокращения памяти.
Используя настройки по умолчанию, оптимизатор таблицы подстановки сокращает объем памяти, используемой Pumping Constant
Блок таблицы подстановки от 1516 байт до 505 байт (66,69%).

Нажмите кнопку Далее.
Щелкните Показать график сравнения (Show Comparison Plot), чтобы просмотреть график вывода исходного блока по сравнению с выводом новой оптимизированной таблицы поиска.

Щелкните Заменить исходную функцию, чтобы создать новую таблицу подстановки, используя оптимизированные параметры, найденные приложением, и заменить исходный блок.
Новый блок является маскированной подсистемой вариантов, в которой активным вариантом является оптимизированный блок таблицы поиска. Неактивным вариантом является исходный блок.

Блок аппроксимации можно изменить итеративно, изменив параметры, использованные при оптимизации для создания новой таблицы подстановки.
Дважды щелкните на блоке «Постоянная накачки». Для редактирования параметров оптимизации в диалоговом окне «Параметры блока» нажмите кнопку «Изменить приблизительный проект».
В оптимизаторе таблицы подстановки нажмите кнопку Далее, чтобы перейти к странице Создать приложения. В этом примере измените абсолютные и относительные допуски на несколько большее значение, чтобы можно было еще больше уменьшить размер таблицы подстановки.
Задайте абсолютный допуск равным 0.01, или 1%.
Задайте для параметра «Относительный допуск» значение 0.01, или 1%.
Щелкните Оптимизировать (Optimize), чтобы оптимизировать таблицу подстановки с новыми опциями.
Используя эти значения допуска, новая таблица поиска использует только 304 байта памяти.
Нажмите кнопку Далее. На странице Результаты (Results) нажмите кнопку Заменить исходную функцию (Replace Original Function), чтобы заменить первую итерацию блока аппроксимации этой самой новой итерацией.
В модели дважды щелкните блок «Постоянная накачка», чтобы открыть окно «Параметры блока». Параметры блока отображают параметры, используемые для аппроксимации
Чтобы сделать исходный блок или подсистему активным вариантом, рядом с пунктом Выбрать требуемую версию функции выберите Original.
Чтобы удалить аппроксимацию таблицы подстановки из модели, в разделе Параметры блока (Block Parameters) щелкните Восстановить исходный (Revert to original).
FunctionApproximation.LUTMemoryUsageCalculator | FunctionApproximation.LUTSolution | FunctionApproximation.Options | FunctionApproximation.Problem