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 выбирает в этом порядке: интервал power-2, даже интервал, неравномерный интервал. Это поведение применяется, когда вы задаете и errmax и nptsmax, но не, когда вы задаете только один из двух.

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

func

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

xmin

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

xmax

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

xdt

Тип данных x.

xscale

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

ydt

Тип данных y.

yscale

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

rndmeth

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

'Ceiling'

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

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

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

'Nearest'

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

'Toward Zero'

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

errmax

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

nptsmax

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

spacing

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

'even'Даже разрядка
'pow2'Даже, power-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