relative error of machine epsilon

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 Centre d'aide et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by