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