Question of mean
Mostrar comentarios más antiguos
When I write a program about consumption (C) with 10^5 trajectories, I want to calculate the expectation of them with the command mean(C(:,j)). However, at j=1, all the C are equal to 0.86, but the mean(C(:,1))=0.859999999999891. Would anyone tell me why it happens and how to correct it please? Thank you.
Respuesta aceptada
Más respuestas (1)
Titus Edelhofer
el 21 de Mayo de 2012
Hi,
0.86 is not exactly representable in computers double precision representation:
fprintf('%.20f\n', 0.86)
0.85999999999999999000
Titus
3 comentarios
Oleg Komarov
el 21 de Mayo de 2012
http://matlab.wikia.com/wiki/FAQ#Why_is_0.3_-_0.2_-_0.1_.28or_similar.29_not_equal_to_zero.3F
Tommy
el 21 de Mayo de 2012
Walter Roberson
el 21 de Mayo de 2012
Recode your test to
if C(i,j) * size(C,1) >= sum(C(:,j))
Categorías
Más información sobre Web Services en Centro de ayuda y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!