exponenta event banner

LUTCompressionResult

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

Описание

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

Создание

Описание

пример

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

Дополнительную экономию памяти можно достичь, сжав каждый блок таблицы подстановки в модели по отдельности и указав допуски для сжатой таблицы подстановки.

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

Входные аргументы

развернуть все

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

Пример: 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