MATLAB Answers

relative error of machine epsilon

8 views (last 30 days)
Frederick Melanson
Frederick Melanson on 7 Feb 2021
Answered: Rohit Pappu on 11 Feb 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

Answers (1)

Rohit Pappu
Rohit Pappu on 11 Feb 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

Community Treasure Hunt

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

Start Hunting!