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