Курсовая работа: Разработка специализированного процессора для исполнения элементарных функций
arcsinZ(n)= Q(20);
asin_ist = asin(Z);
pogr(n)=(asin_ist-arcsinZ(n))/asin_ist*100;
end
scf(2);
clf();
plot(pogr);
xgrid();
Запустив приведенную программу, мы получим график зависимости погрешности от числа итераций:
Рис.1.1 - График абсолютной погрешности для функции Θ = arcsin Z при изменяющемся числе итераций
По полученным графикам видно как ведёт себя погрёшность преобразования. При количестве итераций меньше 10 погрешность достигает 5%. По заданию требуется, чтобы погрешность составляла меньше 1%, это достигается при n = 13 и более.
Листинг программы для изменения разрядности данных:
clear
clc
//== function convert real to bin ====
function [x_bin] = conv(n,m,x)
//преобразование целой части
x_int = abs(int(x));
x_tmp=x_int;
for j=1:m
x_tmp = x_tmp/2
if (x_tmp-int(x_tmp))==0
arr_tmp(j)=0
else
arr_tmp(j)=1
x_tmp = int(x_tmp)
end
end