Реализуйте 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