fixpt_interp1

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

Входные параметры

xdata

Вектор из точек останова для интерполяционной таблицы, таких как linspace(0,8,33).

ydata

Вектор из табличных данных, которые соответствуют точкам останова для интерполяционной таблицы, таким как sin(xdata).

x

Вектор из входных значений для интерполяционной таблицы к процессу, таких как linspace(-1,9,201).

xdt

Тип данных входа x, такой как sfix(8).

xscale

Масштабирование для входа x, такой как 2^-3.

ydt

Тип данных выхода y, такой как sfix(16).

yscale

Масштабирование для выхода y, такой как 2^-14.

rndmeth

Режим Rounding поддержан фиксированной точкой Simulink® блоки:

'Ceiling'

Вокруг к самому близкому представимому номеру в направлении положительной бесконечности.

'Floor' (значение по умолчанию)

Вокруг к самому близкому представимому номеру в направлении отрицательной бесконечности.

'Nearest'

Вокруг к самому близкому представимому номеру.

'Toward Zero'

Вокруг к самому близкому представимому номеру в направлении нуля.

Примеры

Интерполируйте выходные параметры для 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')
Представлено до R2006a