Курсовая работа: Разработка специализированного процессора для исполнения элементарных функций
for j=1:m
x_cel = x_cel+arr_tmp(j)*2^(j-1)
end
//преобразование дробной части
x_real = x- x_int;
for i=1:n,
x_real = x_real * 2;
if x_real<1
arr(i)=0;
else
arr(i)=1;
x_real=x_real-1;
end,
x_real1=1-int(x_real)
end
x_new=0;
for i=1:n
x_new=x_new+arr(i)*2^(-i)
end
x_bin=x_cel+x_new
endfunction
Рис.1.2 - График абсолютной погрешности для функции Θ = arch Z при изменении разрядности дробной части
Изменяя количество бит, приходящихся на дробную часть, исследуется влияние разрядности данных на точность вычислений. Из графика видно, что необходимая точность достигается при разрядности дробной части 13 и более.
Исследуем точность итерационных формул для функции arcth Z в математическом пакете SciLab. Ниже приведен код программы, которая вычисляет погрешность вычисления методом Волдера заданной функции при изменении числа итерации и разрядности дробной части.
Листинг программы :
clear
clc
//== function convert real to bin ====