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