LUTCompressionResult

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

Описание

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 не отображает информацию, пока приближение не завершено.

Типы данных: логический

Задайте размеры слова в битах, которые могут использоваться в интерполяционной таблице, аппроксимированной на основе вашего намеченного оборудования. Например, если вы намереваетесь предназначаться для встраиваемого процессора, можно ограничить типы данных в интерполяционной таблице к нативным типам, 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 функционируйте, чтобы заменить каждый блок Lookup Table на блок, содержащий исходную и сжатую версию интерполяционной таблицы.

replace(compressionResult);

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

revert(compressionResult);

Смотрите также

Функции

Введенный в R2020a