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