Contenido principal

Choose Lookup Table Blocks Based on Input, Breakpoint and Output Data

R2026b

Simulink® offers a variety of Lookup Table blocks to approximate nonlinear functions. This topic outlines a set of the guidelines which help you to choose the lookup table appropriate for your application. The guidelines are based on factors such as dimensionality and data type of the input data, the spacing of breakpoints, the desired accuracy and smoothness of the output data, and the efficiency of computation.

Data Set Dimensionality

In some cases, the dimensions of your data set dictate which of the lookup table blocks is right for your application. If you are approximating a one-dimensional function, consider using either the 1-D Lookup Table or Lookup Table Dynamic block. If you are approximating a two-dimensional function, consider the 2-D Lookup Table block. Blocks such as the n-D Lookup Table and Direct Lookup Table (n-D) allow you to approximate a function of N variables.

Data Set Numeric and Data Types

The numeric and data types of your data set influence the decision of which lookup table block is most appropriate. Although all lookup table blocks support real numbers, the Direct Lookup Table (n-D), 1-D Lookup Table, 2-D Lookup Table, and n-D Lookup Table blocks also support complex table data. All lookup table blocks support integer and fixed-point data in addition to double and single data types.

Note

For the Direct Lookup Table (n-D) block, fixed-point types are supported for the table data, output port, and optional table input port.

Data Accuracy and Smoothness

The desired accuracy and smoothness of the data returned by a lookup table determine which of the blocks you should use. Most blocks provide options to perform interpolation and extrapolation, improving the accuracy of values that fall between or outside of the table data, respectively. For instance, the Lookup Table Dynamic block performs linear interpolation and extrapolation, while the n-D Lookup Table block performs either linear, cubic spline interpolation and extrapolation, or Akima spline interpolation and extrapolation. In contrast, the Direct Lookup Table (n-D) block performs table lookups without any interpolation or extrapolation. You can achieve a mix of interpolation and extrapolation methods by using the Prelookup block with the Interpolation Using Prelookup block.

Dynamics of Table Inputs

The dynamics of the lookup table inputs impact which of the lookup table blocks is ideal for your application. The blocks use a variety of index search methods to relate the lookup table inputs to the breakpoints. Most of the lookup table blocks offer a binary search algorithm, which performs well if the inputs change significantly from one time step to the next. The 1-D Lookup Table, 2-D Lookup Table, n-D Lookup Table, and Prelookup blocks offer a linear search algorithm. Using this algorithm with the option that resumes searching from the previous result performs well if the inputs change slowly. Some lookup table blocks also provide a search algorithm that works best for breakpoints composed of evenly spaced breakpoints. You can achieve a mix of index search methods by using the Prelookup block with the Interpolation Using Prelookup block.

Efficiency of Performance

When the efficiency with which lookup tables operate is important, consider using the Prelookup block with the Interpolation Using Prelookup block. These blocks separate the table lookup process into two components — an index search that relates inputs to the table data, followed by an interpolation and extrapolation stage that computes outputs. These blocks enable you to perform a single index search and then reuse the results to look up data in multiple tables. Also, the Interpolation Using Prelookup block can perform sub-table selection, where the block interpolates a portion of the table data instead of the entire table. For example, if your 3-D table data constitutes a stack of 2-D tables to be interpolated, you can specify a selection port input to select one or more of the 2-D tables from the stack for interpolation. A full 3-D interpolation has 7 sub-interpolations but a 2-D interpolation requires only 3 sub-interpolations. As a result, significant speed improvements are possible when some dimensions of a table are used for data stacking and not intended for interpolation. These features make table lookup operations more efficient, reducing computational effort and simulation time.

Summary of Lookup Table Block Features

Use the following table to identify features that correspond to particular lookup table blocks, then select the block that best meets your requirements.

Feature1-D Lookup Table2-D Lookup TableLookup Table Dynamicn-D Lookup TableDirect Lookup Table (n-D)PrelookupInterpolation Using Prelookup
Interpolation Methods
Flat••••  •
Nearest•• •  •
Linear  •    
Linear point-slope •• •  •
Linear Lagrange•• •  •
Cubic spline•• •   
Akima spline•• •   
Extrapolation Methods
Clip•••• ••
Linear•••• ••
Cubic spline•• •   
Akima spline••     
Numeric & Data Type Support
Complex•• ••  
Double, Single•••••••
Integer•••••••
Fixed point•••••••
Index Search Methods
Binary•••• • 
Linear•• • • 
Evenly spaced points•• ••• 
Start at previous index•• • • 
Miscellaneous
Sub-table selection    • •
Dynamic breakpoint data     • 
Dynamic table data  • • •
Input range checking•• ••••

See Also

| | |

Topics