Реализуйте 1D интерполяционную таблицу
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
.
|
Вектор точек останова для интерполяционной таблицы, таких как | ||||||||
|
Вектор табличных данных, которые соответствуют точкам останова для интерполяционной таблицы, таким как | ||||||||
|
Вектор входных значений для интерполяционной таблицы к процессу, таких как | ||||||||
|
Тип данных входа | ||||||||
|
Масштабируясь для входа | ||||||||
|
Тип данных вывода | ||||||||
|
Масштабируясь для вывода | ||||||||
|
Режим Rounding поддержан фиксированной точкой блоки Simulink®:
|
Интерполируйте выходные параметры для x
с помощью 1D интерполяционной таблицы, которая аппроксимирует синусоидальную функцию:
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