Реализуйте 1-D интерполяционную таблицу
y
= fixpt_interp1(xdata
,ydata
,x
,xdt
,xscale
,ydt
,yscale
,rndmeth
)
реализует одномерную интерполяционную таблицу для поиска выхода y
= fixpt_interp1(xdata
,ydata
,x
,xdt
,xscale
,ydt
,yscale
,rndmeth
)y
для входных x
. Если x
падает между двумя xdata
значения (точки останова), y
является результатом интерполяции между соответствующими ydata
значения. Если x
больше максимального значения в xdata
, y
является максимальным ydata
значение. Если x
меньше минимального значения в xdata
, y
является минимальным ydata
значение.
Если тип входных данных xdt
или тип выходных данных ydt
является плавающей точкой, fixpt_interp1
выполняет интерполяцию с использованием вычислений с плавающей точкой. В противном случае, fixpt_interp1
использует вычисления только для целого числа. Эти вычисления обрабатывают масштабирование входа xscale
и выход масштабирования yscale
и подчиняться методу округления rndmeth
.
|
Вектор точек по оси Х для интерполяционной таблицы, такой как | ||||||||
|
Вектор данных таблицы, которые соответствуют точкам останова для интерполяционной таблицы, таким как | ||||||||
|
Вектор значений входа для интерполяционной таблицы, такой как | ||||||||
|
Тип данных входов | ||||||||
|
Масштабирование для входных | ||||||||
|
Тип данных выходов | ||||||||
|
Масштабирование для выходных | ||||||||
|
Режим округления, поддерживаемый Simulink с фиксированной точкой® блоки:
|
Интерполяция выходов для x
использование интерполяционной таблицы 1-D, которая аппроксимирует функцию синуса:
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')
fixpt_evenspace_cleanup
| fixpt_look1_func_approx
| fixpt_look1_func_plot