exponenta event banner

fixpt_look1_func_approx

Оптимизация аппроксимации нелинейной функции с фиксированной точкой путем интерполяции точек данных таблицы поиска

Синтаксис

[xdata,ydata,errworst] = fixpt_look1_func_approx('func',...
xmin,xmax,xdt,xscale,ydt,yscale,rndmeth,errmax,nptsmax)
[xdata,ydata,errworst] = fixpt_look1_func_approx('func',...
xmin,xmax,xdt,xscale,ydt,yscale,rndmeth,errmax,[])
[xdata,ydata,errworst] = fixpt_look1_func_approx('func',...
xmin,xmax,xdt,xscale,ydt,yscale,rndmeth,[],nptsmax)
[xdata,ydata,errworst] = fixpt_look1_func_approx('func',...
xmin,xmax,xdt,xscale,ydtydt,yscale,rndmeth,errmax,nptsmax,spacing)

Описание

[xdata,ydata,errworst] = fixpt_look1_func_approx('func',...
xmin,xmax,xdt,xscale,ydt,yscale,rndmeth,errmax,nptsmax)
возвращает оптимальные точки останова таблицы подстановки, идеальную функцию, применяемую к точкам останова, и ошибку аппроксимации в худшем случае. Таблица подстановки удовлетворяет максимально допустимой ошибке и максимальному количеству указанных точек.

[xdata,ydata,errworst] = fixpt_look1_func_approx('func',...
xmin,xmax,xdt,xscale,ydt,yscale,rndmeth,errmax,[])
возвращает оптимальные точки останова таблицы подстановки, идеальную функцию, применяемую к точкам останова, и ошибку аппроксимации в худшем случае. Таблица подстановки удовлетворяет максимально допустимой указанной ошибке.

[xdata,ydata,errworst] = fixpt_look1_func_approx('func',...
xmin,xmax,xdt,xscale,ydt,yscale,rndmeth,[],nptsmax)
возвращает оптимальные точки останова таблицы подстановки, идеальную функцию, применяемую к точкам останова, и ошибку аппроксимации в худшем случае. Таблица подстановки удовлетворяет указанному максимальному количеству точек.

[xdata,ydata,errworst] = fixpt_look1_func_approx('func',...
xmin,xmax,xdt,xscale,ydtydt,yscale,rndmeth,errmax,nptsmax,spacing)
возвращает оптимальные точки останова таблицы подстановки, идеальную функцию, применяемую к точкам останова, и ошибку аппроксимации в худшем случае. Таблица подстановки удовлетворяет указанным максимальным допустимым значениям ошибки, максимальному количеству точек и интервалу между точками останова.

В каждом случае fixpt_look1_func_approx интерполяция между точками данных таблицы поиска для оптимизации аппроксимации с фиксированной точкой. Исходные данные xmin и xmax укажите диапазон для аппроксимации точек останова. Исходные данные xdt, xscale, ydt, yscale, и rndmeth соблюдайте соглашения, используемые блоками Simulink ® с фиксированной точкой.

Исходные данные errmax, nptsmax, и spacing являются необязательными. Из этих входных данных необходимо указать не менее errmax или nptsmax. Если опустить один из этих двух входов, необходимо использовать скобки, [], вместо пропущенного ввода. fixpt_look1_func_approx игнорирует это требование для таблицы подстановки.

Если интервал не задан, и удовлетворяется более одного интервала errmax и nptsmax, fixpt_look1_func_approx выбирает в таком порядке: интервал мощности 2, четный интервал, неравномерный интервал. Это поведение применяется при указании обоих параметров errmax и nptsmax, но не когда вы указываете только один из двух.

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

func

Функция x для которых требуется приблизить точки останова. Заключите это выражение в одинарные кавычки, например, 'sin(2*pi*x)'.

xmin

Минимальное значение x.

xmax

Максимальное значение x.

xdt

Тип данных x.

xscale

Масштабирование для x значения.

ydt

Тип данных y.

yscale

Масштабирование для y значения.

rndmeth

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

'Ceiling'

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

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

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

'Nearest'

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

'Toward Zero'

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

errmax

Максимально допустимая ошибка между идеальной функцией и аппроксимацией, заданной в таблице подстановки.

nptsmax

Максимальное количество точек для таблицы подстановки.

spacing

Интервал между точками останова для таблицы подстановки:

'even'Четный интервал
'pow2'Четный интервал мощности 2
'unrestricted' (по умолчанию)Неравномерный интервал
Если указать...Точки останова таблицы подстановки...

errmax и nptsmax

По возможности удовлетворяйте обоим критериям.

errmax требование имеет более высокий приоритет, чем nptsmax. Если точки останова не соответствуют обоим критериям с заданным интервалом, nptsmax не применяется.

errmax только

Соответствие критериям ошибки и fixpt_look1_func_approx возвращает наименьшее число точек.

nptsmax только

Соответствие критериям начисления баллов и fixpt_look1_func_approx возвращает наименьшую наихудшую ошибку.

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

xdata

Вектор точек останова для таблицы подстановки.

ydata

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

errworst

Наихудшая ошибка, которая является максимальной абсолютной ошибкой между идеальной функцией и аппроксимацией, заданной таблицей подстановки.

Примеры

Аппроксимация синусоидальной функции с фиксированной точкой с помощью таблицы подстановки:

func = 'sin(2*pi*x)';
% Define the range over which to optimize breakpoints
xmin = 0;
xmax = 0.25;
% Define the data type and scaling for the inputs
xdt = ufix(16);
xscale = 2^-16;
% Define the data type and scaling for the outputs
ydt = sfix(16);
yscale = 2^-14;
% Specify the rounding method
rndmeth = 'Floor';
% Define the maximum acceptable error
errmax = 2^-10;
% Choose even, power-of-2 spacing for breakpoints
spacing = 'pow2';
% Create the lookup table
[xdata,ydata,errworst] = fixpt_look1_func_approx(func,...
 xmin,xmax,xdt,xscale,ydt,yscale,rndmeth,errmax,[],spacing);

См. также

| |

Темы

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