Problems with while loop
2 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Tamia Eli
am 30 Aug. 2020
Kommentiert: Tamia Eli
am 31 Aug. 2020
Hi, I have a problem, I want the subtraction d1 to be less than 1 * 10 ^ -15 after several iterations, but the program stays busy.
2 Kommentare
James Tursa
am 31 Aug. 2020
Please post your code as regular text and highlight it with the CODE button. We can't run pictures.
Akzeptierte Antwort
Bruno Luong
am 31 Aug. 2020
Bearbeitet: Bruno Luong
am 31 Aug. 2020
"Hi, I have a problem, I want the subtraction d1 to be less than 1 * 10 ^ -15 after several iterations, but the program stays busy."
Well you cannot demand floating point error to be that small.
Double IEEE has about 15 digits relative precision. You compare B1 to (y/k0) which is -7699432.66755457. The most you can demand is error is about
>> tol = eps(y/k0)
tol =
9.31322574615479e-10
So if you replace the break condition by
tol = eps(y/k0);
while tt>tol
...
end
your while loop will stop.
Weitere Antworten (0)
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!