Реализуйте 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 больше максимального значения в xdataY максимальный ydata значение. Если x меньше минимального значения в xdataY минимальный 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