Azzera filtri
Azzera filtri

The mean function and decimal places

4 visualizzazioni (ultimi 30 giorni)
J.S.
J.S. il 15 Giu 2018
Commentato: David Goodmanson il 16 Giu 2018
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 Commenti
Image Analyst
Image Analyst il 16 Giu 2018
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 il 16 Giu 2018
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.

Accedi per commentare.

Risposte (0)

Tag

Community Treasure Hunt

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

Start Hunting!

Translated by