Оптимизируйте приближение фиксированной точки нелинейной функции путем интерполяции точек данных интерполяционной таблицы
[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