LUTCompressionResult

Оптимизированные данные интерполяционной таблицы для всех блоков Интерполяционной таблицы в системе

Описание

A LUTCompressionResult объект содержит оптимизированные данные интерполяционной таблицы для всех блоков Интерполяционной таблицы в системе. Как создать LUTCompressionResult объект, использовать FunctionApproximation.compressLookupTables функция. Чтобы заменить интерполяционные таблицы в вашей системе оптимизированной версией, используйте replace функция.

Создание

Описание

пример

CompressionResult = compressLookupTables(system) сжимает все блоки n-D Lookup Table в указанной системе. Сжатые блоки Lookup Table выводят те же числовые результаты, что и исходные блоки Lookup Table в границах точек останова.

Можно достичь дополнительной экономии памяти путем сжатия каждого блока Lookup Table в модели по отдельности и определения допусков для сжатой интерполяционной таблицы.

CompressionResult = compressLookupTables(system, Name,Value) сжимает все блоки n-D Lookup Table в указанной системе с дополнительными свойствами, заданными аргументами в виде пар имен и значений.

Входные параметры

расширить все

Имя модели или подсистемы, в которой можно сжать все блоки n-D Lookup Table, заданное как вектор символов.

Пример: compressionResult = FunctionApproximation.compressLookupTables('sldemo_fuelsys');

Типы данных: char

Аргументы в виде пар имя-значение

Задайте необязательные разделенные разделенными запятой парами Name,Value аргументы. Name - имя аргумента и Value - соответствующее значение. Name должны находиться внутри кавычек. Можно задать несколько аргументов в виде пар имен и значений в любом порядке Name1,Value1,...,NameN,ValueN.

Отображать ли детали каждой итерации оптимизации, заданные как логические. Значение 1 приводит к получению информации в командном окне при каждой итерации процесса приближения. Значение 0 не отображает информацию до завершения приближения.

Типы данных: logical

Укажите размеры слова в битах, которые могут использоваться в интерполяционной таблице аппроксимации на основе вашего предполагаемого оборудования. Например, если вы намерены использовать встраиваемый процессор, можно ограничить типы данных в интерполяционной таблице нативными типами 8, 16 и 32. Значение размеров слова должно быть от 1 до 128.

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | fi

Simulink.FindOptions объект, задающий опции для поиска интерполяционных таблиц в системе.

Свойства

расширить все

Модули для MaxMemoryUsage свойство, заданное как 'bits', 'bytes'или один из других перечисленных опций.

Типы данных: char

Таблица, обобщающая эффекты сжатия. Таблица содержит по одной строке для каждой интерполяционной таблицы, сжатой в системе, и ее соответствующей экономии памяти.

Типы данных: table

Количество интерполяционных таблиц, найденных в указанной системе, заданное в виде целочисленного скаляра.

Типы данных: double

Количество интерполяционных таблиц, сжатых в системе, заданное в виде целочисленного скаляра.

Типы данных: double

Общая память всех интерполяционных таблиц в системе перед сжатием, возвращенная в виде скаляра. Вы можете задать модули этого свойства при помощи MemoryUnits свойство.

Типы данных: double

Общая память всех интерполяционных таблиц в системе после сжатия, возвращенная в виде скаляра. Вы можете задать модули этого свойства при помощи MemoryUnits свойство.

Типы данных: double

Различие между общей памятью всех интерполяционных таблиц в системе до и после сжатия, возвращенная в виде скаляра. Вы можете задать модули этого свойства при помощи MemoryUnits свойство.

Типы данных: double

Процентное сокращение памяти, используемой интерполяционными таблицами в системе после сжатия, возвращается в виде скаляра.

Типы данных: double

Система, содержащая сжатые интерполяционные таблицы, возвращенная как вектор символов. SUD является тем же самым, что и system входной параметр FunctionApproximation.compressLookupTables функция.

Типы данных: char

Размеры слова, используемые для точек останова и данных таблицы в сжатых интерполяционных таблицах, возвращаются в виде скаляра или вектора из целых чисел.

Типы данных: double

Simulink.FindOptions объект, задающий опции для поиска интерполяционных таблиц в системе.

Функции объекта

replaceЗамените все блоки интерполяционной таблицы сжатыми интерполяционными таблицами
revertВерните блоки сжатой интерполяционной таблицы к исходным версиям

Примеры

свернуть все

В этом примере показано, как сжать все блоки интерполяционной таблицы в системе.

Откройте модель, содержащую интерполяционные таблицы, которые вы хотите сжать.

system = 'sldemo_fuelsys';
open_system(system)

Используйте FunctionApproximation.compressLookupTables функция для сжатия всех интерполяционных таблиц в модели. Выходные выходы задают все блоки, которые изменяются, и экономию памяти для каждого.

compressionResult = FunctionApproximation.compressLookupTables(system)
- Found 5 supported lookup tables
- Percent reduction in memory for compressed solution
	-  2.37% for sldemo_fuelsys/fuel_rate_control/airflow_calc/Pumping Constant
	-  2.37% for sldemo_fuelsys/fuel_rate_control/control_logic/Throttle.throttle_estimate/Throttle Estimation
	-  3.55% for sldemo_fuelsys/fuel_rate_control/control_logic/Speed.speed_estimate/Speed Estimation
	-  6.38% for sldemo_fuelsys/fuel_rate_control/control_logic/Pressure.map_estimate/Pressure Estimation
	-  9.38% for sldemo_fuelsys/fuel_rate_control/airflow_calc/Ramp Rate Ki

compressionResult = 

  LUTCompressionResult with properties:

                  MemoryUnits: bytes
             MemoryUsageTable: [5x5 table]
                 NumLUTsFound: 5
              NumImprovements: 5
              TotalMemoryUsed: 6024
           TotalMemoryUsedNew: 5796
           TotalMemorySavings: 228
    TotalMemorySavingsPercent: 3.7849
                          SUD: 'sldemo_fuelsys'
                  WordLengths: [8 16 32]
                  FindOptions: [1x1 Simulink.internal.FindOptions]
                      Display: 1

Используйте replace функция для замены каждого блока Интерполяционной таблицы блоком, содержащим исходную и сжатую версию интерполяционной таблицы.

replace(compressionResult);

Можно вернуть интерполяционные таблицы в их исходное состояние с помощью revert функция.

revert(compressionResult);
Введенный в R2020a
Для просмотра документации необходимо авторизоваться на сайте