Implement 1D lookup table
y
= fixpt_interp1(xdata
,ydata
,x
,xdt
,xscale
,ydt
,yscale
,rndmeth
)
implements
a onedimensional lookup table to find output y
= fixpt_interp1(xdata
,ydata
,x
,xdt
,xscale
,ydt
,yscale
,rndmeth
)y
for
input x
. If x
falls
between two xdata
values (breakpoints), y
is
the result of interpolating between the corresponding ydata
values.
If x
is greater than the maximum value
in xdata
, y
is
the maximum ydata
value. If x
is
less than the minimum value in xdata
, y
is
the minimum ydata
value.
If the input data type xdt
or the
output data type ydt
is floating point, fixpt_interp1
performs
the interpolation using floatingpoint calculations. Otherwise, fixpt_interp1
uses
integeronly calculations. These calculations handle the input scaling xscale
and
the output scaling yscale
and obey the
rounding method rndmeth
.

Vector of breakpoints for the lookup table, such as  

Vector of table data that correspond to the breakpoints for
the lookup table, such as  

Vector of input values for the lookup table to process, such
as  

Data type of input  

Scaling for input  

Data type of output  

Scaling for output  

Rounding mode supported by fixedpoint Simulink^{®} blocks:

Interpolate outputs for x
using a 1D lookup
table that approximates the sine function:
xdata = linspace(0,8,33).'; ydata = sin(xdata); % Define input x as a vector of 201 evenly % spaced points between 1 and 9 (includes % values both lower and higher than the range % of breakpoints in xdata) x = linspace(1,9,201).'; % Interpolate output values for x y = fixpt_interp1(xdata,ydata,x,sfix(8),2^3,sfix(16),... 2^14,'Floor')