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