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