Постройте функцию приближения с фиксированной точкой для интерполяционной таблицы
fixpt_look1_func_plot(
xdata
,ydata
,'func
',...
xmin
,xmax
,xdt
,xscale
,ydt
,yscale
,rndmeth
)
errworst
= fixpt_look1_func_plot(xdata
,ydata
,'func
',...
xmin
,xmax
,xdt
,xscale
,ydt
,yscale
,rndmeth
)
fixpt_look1_func_plot(
строит график функции приближения интерполяционной таблицы и ошибки от идеальной функции.xdata
,ydata
,'func
',...
xmin
,xmax
,xdt
,xscale
,ydt
,yscale
,rndmeth
)
строит график функции приближения интерполяционной таблицы и ошибки от идеальной функции. Область выхода errworst
= fixpt_look1_func_plot(xdata
,ydata
,'func
',...
xmin
,xmax
,xdt
,xscale
,ydt
,yscale
,rndmeth
)errworst
- максимальная абсолютная ошибка.
Вы можете использовать fixpt_look1_func_approx
чтобы сгенерировать xdata
и ydata
, данные точек по оси Х и данные таблицы для интерполяционной таблицы, соответственно. fixpt_look1_func_approx
применяет идеальную функцию к точкам останова в xdata
для производства ydata
. В то время как этот метод является самым легким способом сгенерировать ydata
, можно выбрать другие значения для ydata
как вход для fixpt_look1_func_plot
. Выбор различных значений для ydata
может, в некоторых случаях, создать интерполяционную таблицу с меньшей максимальной абсолютной ошибкой.
|
Вектор точек по оси Х для интерполяционной таблицы. | ||||||||
|
Вектор значений от применения идеальной функции к точкам останова. | ||||||||
|
Функция | ||||||||
|
Минимальное значение | ||||||||
|
Максимальное значение | ||||||||
|
Тип данных | ||||||||
|
Масштабирование для | ||||||||
|
Тип данных | ||||||||
|
Масштабирование для | ||||||||
|
Режим округления, поддерживаемый Simulink с фиксированной точкой® блоки:
|
Постройте график приближения функции синуса с фиксированной точкой с помощью точек данных, сгенерированных fixpt_look1_func_approx
:
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'; % Generate data points for the lookup table [xdata,ydata,errworst]=fixpt_look1_func_approx(func,... xmin,xmax,xdt,xscale,ydt,yscale,rndmeth,errmax,[],spacing); % Plot the sine function (ideal and fixed-point) & errors fixpt_look1_func_plot(xdata,ydata,func,xmin,xmax,... xdt,xscale,ydt,yscale,rndmeth);
fixpt_look1_func_plot
строит график функции синуса с фиксированной точкой, используя сгенерированные точки данных, и строит график ошибки между идеальной функцией и функцией с фиксированной точкой. Максимальная абсолютная ошибка и требуемое число точек появляются на графике. Ошибка падает до нуля в точке останова, но увеличивается между точками останова из-за различий кривизны между идеальной функцией и линией, нарисованной между точками останова.
Интерполяционная таблица требует 33 точки, чтобы достичь максимальной абсолютной ошибки 2^-11.3922
.
fixpt_evenspace_cleanup
| fixpt_interp1
| fixpt_look1_func_approx