Оптимизируйте приближение фиксированной точки нелинейной функции путем интерполяции точек данных интерполяционной таблицы
[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, но не, когда вы задаете только один из двух.
|
Функция | ||||||||
|
Минимальное значение | ||||||||
|
Максимальное значение | ||||||||
|
Тип данных | ||||||||
|
Масштабирование для значений | ||||||||
|
Тип данных | ||||||||
|
Масштабирование для значений | ||||||||
|
Режим Rounding поддержан блоками Simulink фиксированной точки:
| ||||||||
|
Максимальная приемлемая ошибка между идеальной функцией и приближением, данным интерполяционной таблицей. | ||||||||
|
Максимальное количество точек для интерполяционной таблицы. | ||||||||
|
Интервал точек останова для интерполяционной таблицы:
|
| Если вы задаете... | Точки останова интерполяционной таблицы... |
|---|---|
| Соответствуйте обоим критериям, если это возможно. Требование |
| Соответствуйте ошибочным критериям, и |
| Соответствуйте критериям точек, и |
|
Вектор точек останова для интерполяционной таблицы. |
|
Вектор значений от применения идеальной функции к точкам останова. |
|
Ошибка худшего случая, которая является максимальной абсолютной погрешностью между идеальной функцией и приближением, данным интерполяционной таблицей. |
Аппроксимируйте синусоидальную функцию фиксированной точки с помощью интерполяционной таблицы:
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);
fixpt_evenspace_cleanup | fixpt_interp1 | fixpt_look1_func_plot