The mean function and decimal places

4 次查看(过去 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
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
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 CenterFile Exchange 中查找有关 Logical 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by