|
|
Frage zu Durchläufen einer for-Schleife |
|
Fox |
Forum-Newbie
|
|
Beiträge: 2
|
|
|
|
Anmeldedatum: 21.09.12
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 01.10.2012, 11:40
Titel: Frage zu Durchläufen einer for-Schleife
|
|
Hallo Member,
ich habe eine (recht einfache) Frage, die ich mir aber momentan nicht selber beantworten kann. Es geht um die Anzahl der Durchläufe einer for-Schleife.
Wieso wird die Schleife nur 4mal durchlaufen und nicht 5mal?
Danke!
Grüße
Bastian
|
|
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.492
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 01.10.2012, 12:26
Titel:
|
|
Hallo,
bedingt durch minimale numerische Ungenauigkeiten ist
etwas kleiner als 5.
Kannst du nachprüfen mit:
Empfehlung: wenn du weißt, dass das eigentlich ein ganzzahliger Wert sein muss, sicherheitshalber noch ein round() drumherum.
Grüße,
Harald
|
|
|
Jan S |
Moderator
|
|
Beiträge: 11.057
|
|
|
|
Anmeldedatum: 08.07.10
|
|
|
|
Wohnort: Heidelberg
|
|
|
|
Version: 2009a, 2016b
|
|
|
|
|
|
Verfasst am: 01.10.2012, 12:28
Titel: Re: Frage zu Durchläufen einer for-Schleife
|
|
Hallo Fox,
Willkommen in der Welt der Floating-Point-Zahlen mit begrenzter Genauigkeit. Manche Dezimalzahlen lassen sich nicht exakt als Binärzahl darstellen. So kommt es zu Effekten wie:
Wenn man eine Schleife also genau 4 Mal laufen lassen möchte, macht man das unbedingt mit ganzzahligem Zähler, denn dies funktioniert auf jeden Fall:
Zumindest bis man in die Größenordnung von 2^53 kommt. Dann stossen auch die Ganzzahlen an ihre Genauigkeits-Grenze, wenn man DOUBLEs verwendet.
Gruß, Jan
|
|
|
Fox |
Themenstarter
Forum-Newbie
|
|
Beiträge: 2
|
|
|
|
Anmeldedatum: 21.09.12
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 01.10.2012, 13:13
Titel:
|
|
So einfach kann die Lösung sein!
Vielen Dank an euch beiden.
|
|
|
|
|
Einstellungen und Berechtigungen
|
|
Du kannst Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen. Du kannst Dateien in diesem Forum posten Du kannst Dateien in diesem Forum herunterladen
|
|
Impressum
| Nutzungsbedingungen
| Datenschutz
| FAQ
| RSS
Hosted by:
Copyright © 2007 - 2024
goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks
MATLAB, Simulink, Stateflow, Handle Graphics, Real-Time Workshop, SimBiology, SimHydraulics, SimEvents, and xPC TargetBox are registered trademarks and The MathWorks, the L-shaped membrane logo, and Embedded MATLAB are trademarks of The MathWorks, Inc.
|
|