Main Content

FunctionApproximation.compressLookupTables

システム内のすべての Lookup Table ブロックの圧縮

R2020a 以降

説明

CompressionResult = FunctionApproximation.compressLookupTables(system) は、指定されたシステム内のすべての n-D Lookup Table ブロックを圧縮します。圧縮された Lookup Table ブロックは、元の Lookup Table ブロックと同じ数値結果をブレークポイントの範囲内で出力します。

モデル内のルックアップ テーブルを個別に圧縮し、圧縮されたルックアップ テーブルに許容誤差を指定することで、メモリをさらに削減できます。

CompressionResult = FunctionApproximation.compressLookupTables(system, Name,Value) は、名前と値のペアの引数で指定された追加のプロパティに基づいて、指定されたシステム内のすべての n-D Lookup Table ブロックを圧縮します。

すべて折りたたむ

この例では、システム内のすべての Lookup Table ブロックを圧縮する方法を示します。

圧縮するルックアップ テーブルを含むモデルを開きます。

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);

入力引数

すべて折りたたむ

すべての n-D Lookup Table ブロックを圧縮するモデルまたはサブシステムの名前。文字ベクトルとして指定します。

例: compressionResult = FunctionApproximation.compressLookupTables('sldemo_fuelsys');

データ型: char

名前と値の引数

引数のオプションのペアを Name1=Value1,...,NameN=ValueN として指定します。Name は引数名、Value は対応する値です。名前と値の引数は他の引数の後に表示されなければなりませんが、ペアの順序は重要ではありません。

R2021a より前は、名前と値をそれぞれコンマを使って区切り、Name を引用符で囲みます。

例: CompressionResult = FunctionApproximation.compressLookupTables('sldemo_fuelsys', 'WordLengths', [8,16,32])

最適化の各反復の詳細を表示するかどうか。logical として指定します。値が 1 の場合、近似プロセスの反復ごとにコマンド ウィンドウに情報が表示されます。値が 0 の場合、近似が完了するまで情報が表示されません。

データ型: logical

使用するハードウェアに基づいてルックアップ テーブルの近似で使用できる語長をビット単位で指定します。たとえば、ターゲットが組み込みプロセッサであれば、ルックアップ テーブルのデータ型をネイティブ型の 8、16、32 に制限できます。語長は 1 と 128 の間でなければなりません。

データ型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | fi

システム内のルックアップ テーブルを検索するオプションを指定する Simulink.FindOptions オブジェクト。

出力引数

すべて折りたたむ

モデル内の Lookup Table ブロックの圧縮時に作成された圧縮結果オブジェクト。LUTCompressionResult オブジェクトとして返されます。

バージョン履歴

R2020a で導入

参考

クラス

関数