while loops
10 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
marvin corado
am 5 Mär. 2011
Beantwortet: Van
am 17 Dez. 2014
First time posting. Excuse if i do not post correctly. My problem is with a while loop. I created my self a short while loop test just to see how it works. i run it and it does what i want. that is to say increase mx by 1 until it hits 3, and then when sum is equal to summ, it performs a. here is what i wrote.
mx=1;
while mx<3.0 mx=mx+1; sum=mx*2; summ =4; if (sum==summ) break a=2*sum end end
My problem is that when i increase mx by 0.1 matlab does not perform the if statement. I know sum and summ will be equal at some point but matlabd never performs a. Any help? thank you.
0 Kommentare
Akzeptierte Antwort
Matt Fig
am 5 Mär. 2011
.
.
.
mx=1;
tol = 1e-8;
while mx<3.0
mx=mx+1;
sum=mx*2;
summ =4;
if abs(sum-summ)<tol
a=2*sum
break
end
end
0 Kommentare
Weitere Antworten (5)
Walter Roberson
am 5 Mär. 2011
By the way, it is a bad practice to name one of your variables with the name of one of the built-in routines such as "sum". Don't make a habit of it or else it will cause you problems later -- problems that you will stare at and stare at and not see because you "know" what you mean the code to do.
0 Kommentare
marvin corado
am 5 Mär. 2011
1 Kommentar
Walter Roberson
am 5 Mär. 2011
You can go back and edit your question. Just select your code and click on the "Code {}" button.
marvin corado
am 5 Mär. 2011
2 Kommentare
Walter Roberson
am 5 Mär. 2011
Choosing a tolerance is fine if you know something about the floating point representation of the range of values you are using, but for more general usage the tolerance should usually be based upon eps() of the maximum magnitude of the values you are working with.
Van
am 17 Dez. 2014
I think the problem is the positioning. Isn't that the "a=2*sum" should be placed above the break?
%
mx=1;
while mx < 3.0
mx=mx+1;
sum=mx*2;
summ =4;
if (sum==summ)
a = 2*sum
break
end
end
which will result to 8. I hope i answer it correctly.
0 Kommentare
Siehe auch
Kategorien
Mehr zu Loops and Conditional Statements finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!