Working with numbers smaller tha 10^-308
이전 댓글 표시
Hi,
I would like to know if it is possible to use Matlab for very small numbers (smaller than 10^-308 ). It's very important for my application "statistical genetics". in this field, somes probabilities are smaller than 10^-500.
Thank you
댓글 수: 4
Sean de Wolski
2013년 5월 9일
+1 @Robert's comment
sadoune sadoune
2013년 5월 9일
John Doe
2013년 5월 9일
Ok, then I see where you get the number from, but if you are ending up with a probability that low, it is literally impossible for it to happen. Isn't OK to just let it be equal to 0?
I don't mean to be rude or condescending, I just don't get how it would make sense to keep working with numbers that low.
Anyhow, I hope someone can provide an answer for you, and good luck =)
답변 (2개)
Sean de Wolski
2013년 5월 9일
편집: Sean de Wolski
2013년 5월 9일
댓글 수: 3
sadoune sadoune
2013년 5월 10일
Sean de Wolski
2013년 5월 10일
That's because you're doing the computation as a double and then converting it to vpa(). Convert it to vpa before doing the computation:
for i=400:-1:1
tab(i)=vpa(0.1);
end
v = (prod(tab))
sadoune sadoune
2013년 5월 10일
Peter Perkins
2013년 5월 11일
1 개 추천
Quite often in statistics when one has very small probabilities, one works on the log scale. That's why one typically maximizes the LOG-likelihood, and not the likelihood.
카테고리
도움말 센터 및 File Exchange에서 Conversion Between Symbolic and Numeric에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!