Question of mean
이전 댓글 표시
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.
채택된 답변
추가 답변 (1개)
Titus Edelhofer
2012년 5월 21일
Hi,
0.86 is not exactly representable in computers double precision representation:
fprintf('%.20f\n', 0.86)
0.85999999999999999000
Titus
댓글 수: 3
Oleg Komarov
2012년 5월 21일
http://matlab.wikia.com/wiki/FAQ#Why_is_0.3_-_0.2_-_0.1_.28or_similar.29_not_equal_to_zero.3F
Tommy
2012년 5월 21일
Walter Roberson
2012년 5월 21일
Recode your test to
if C(i,j) * size(C,1) >= sum(C(:,j))
카테고리
도움말 센터 및 File Exchange에서 Web Services에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!