relative error of machine epsilon

3 vues (au cours des 30 derniers jours)
Frederick Melanson
Frederick Melanson le 7 Fév 2021
Hi!
I am trying to calculate the relative error of machine epsilon. I have the roundoff error but can seem to figure how to get the relative error... here is my function:
function eplison = ep(n)
eplison = double(1);
r = eplison/2;
while (n+eplison) ~= n
eplison = eplison/2;
r = eplison/2;
end
eplison= eplison*2;
end
thanks in advance

Réponses (1)

Rohit Pappu
Rohit Pappu le 11 Fév 2021
According to the formal definition, the approximation of Machine Epsilon is as follows
epsilon = 1.0;
while (1.0 + 0.5 * epsilon) 1.0:
epsilon = 0.5 * epsilon
Extending this to n, it can be rewritten as
epsilon = 1.0; % Default datatype is double
while(n + 0.5*epsilon ~= n)
epsilon = 0.5*epsilon;
end

Catégories

En savoir plus sur MATLAB dans Help Center et File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by