The mean function and decimal places
3 次查看(过去 30 天)
显示 更早的评论
Below is a snippet of code that is acting unexpectedly:
maxmean= -inf;
stripemean=0;
while stripemean>=(10*maxmean)
%do something, including update stripemean and maxmean.
end
When the script ends and I type stripemean and maxmean into the command line, the results are
stripemean=0;
maxmean=0.01,
which should cause the while loop to keep running instead of ending as it did. Is there any way to adjust the number of decimal places allowed in the result of calling the mean function?
The vector upon which mean is acting to create stripemean is very long and contains mostly 0s (and some 1s).
3 个评论
Image Analyst
2018-6-16
What are you doing to change maxmean? If you're setting something to it, fine, but if you're multiplying it by something, keep in mind that (-inf * anything) is still -inf and so your while loop will never exit. So, what are you doing to update those values?
David Goodmanson
2018-6-16
Hi JS,
Using the most recent values of stripemean and maxmean you have 0 < .1 and the while loop stops, as it should. Decimal places do not appear to be involved.
回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Logical 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!