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