exponenta event banner

fixpt_interp1

Реализация таблицы подстановки 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.

Входные аргументы

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

Режим округления, поддерживаемый блоками Simulink ® с фиксированной точкой:

'Ceiling'

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

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

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

'Nearest'

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

'Toward Zero'

Округление до ближайшего представимого числа в направлении нуля.

Примеры

Интерполяция выходов для 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')

См. также

| |

Темы

Представлен до R2006a