LabVIEWForum.de
Labview rechnet falsch - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+--- Thema: Labview rechnet falsch (/Thread-Labview-rechnet-falsch)

Seiten: 1 2


Labview rechnet falsch - Widar - 20.12.2012 12:01

Hallo zusammen

Ich habe ein kleines Programm erstellt das mir die Anzahl Nullen ausgibt, welche mittels Start, Stopp und Schrittwerte erzeugt werden. Soweit eigentlich alles klar und nicht schwer zu programmieren. Allerdings habe ich komischerweise wenn der letzte Wert (0.1-0.1) ausgegeben wird keine "Null" sondern einen falschen Wert (1.39E-16). Wieso ist dies so? Oder was mache isch falsch?

Dies tritt zum beispiel bei "Start = 1", "Stopp = 0", "Schritte = 0.1", auf.

Danke für die Hilfe....


RE: Labview rechnet falsch - jg - 20.12.2012 12:11

NEIN, LabVIEW rechnet nicht falsch.
Du stolperst bloß über die üblichen Probleme bei der Abarbeitung von Gleitkommazahlen im Computer.

Such mal im Forum, z.B. hier: http://www.labviewforum.de/Thread-Genauigkeit

Gruß, Jens


RE: Labview rechnet falsch - Widar - 20.12.2012 13:15

Habe ich das richtig verstanden? Labview rechnet nicht mit 0.1-0.1=0 sondern z.B. 0.0999998456464-0.0999998456464=1.39E-16 zeigt jedoch beide 0.0999998456464 Werte als 0.1 an?


RE: Labview rechnet falsch - Lucki - 20.12.2012 13:33

Ganz recht: Die Frage, ob zwei Zahlen gleich sind, sollte man bei Gleitkommazahlen gar nicht stellen. Sinnvolle Fragestellung ist nur: Sind zwei Zahlen innerhalb einer gegebenen Toleranzbandbreite gleich? Die geringstmögliche sinnvolle Toleranz ist durch die Maschinentoleranz gegeben. Dafür gibt es eine LV-Konstante, die man anwenden kann - wie siehe Wikipedia.
Offtopic: Wenn ein "LVF-Grünschnabel" dreist mit der Behauptung "Labview rechnet falsch" daherkommt, statt Fehler oder Wissenslücken bei sich zu suchen, so zeugt das von patologischer Selbstüberschätzung. Mildernder Umstand: Die Krankheit ist heutzutage eine Massenseuche.


RE: Labview rechnet falsch - Widar - 20.12.2012 13:45

Darum habe ich ja auch geschrieben "Oder was mache isch falsch?" ;-)

Wo finde ich die Konstante denn? Direkt schon in LV? oder ist dies einfach ein wert denn man auswendig lernen muss?

EDIT: hab sie gefunden. Aber wie verwende ich die genau?


RE: Labview rechnet falsch - Y-P - 20.12.2012 13:45

Nicht nur LabVIEW. Das Problem ist allgemein.

Gruß Markus

(20.12.2012 13:15 )Widar schrieb:  Labview rechnet nicht mit 0.1-0.1=0 sondern z.B. 0.0999998456464-0.0999998456464=1.39E-16 zeigt jedoch beide 0.0999998456464 Werte als 0.1 an?



RE: Labview rechnet falsch - Lucki - 20.12.2012 13:58

Anwendung der Maschinentoleranz-Konstante:
Die Toleranz gilt bei einem Zahlenwert von 1. Bei anderen Zahlen müßte die Konstante noch mit der Zahl multipliziert werden, um auf die Toleranz zu kommen. So habe ich es in Wikipedia irgendwo gelesen. In der LV-Hilfe habe ich dazu nichts gefunden, aber falls es da doch etwas gibt, wäre das natürlich höher priorisiert.
Übrigens: Zur Erzeugung deines Arrays gibt es das VI "Rampenfunktion"

P-S:
Ich warte übrigens seit Jahren darauf, dass bei NI mal jemand auf die Idee kommt, in einer neuen Version von LV die "="-Funktion zu verbesseren. Mit der rechten Maustaste sollte es möglich sein, im Falle von Gleitkommazahlen oder von Clusteren, die solche enthalten, die Option "Gleich innerhab der Maschinentoleranz" zu wählen.


RE: Labview rechnet falsch - Y-P - 20.12.2012 16:47

Hast Du es schon dort reingeschrieben:
http://forums.ni.com/t5/ideas/v2/ideaexchangepage/blog-id/labviewideas ?

Gruß Markus

(20.12.2012 13:58 )Lucki schrieb:  P-S:
Ich warte übrigens seit Jahren darauf, dass bei NI mal jemand auf die Idee kommt, in einer neuen Version von LV die "="-Funktion zu verbesseren. Mit der rechten Maustaste sollte es möglich sein, im Falle von Gleitkommazahlen oder von Clusteren, die solche enthalten, die Option "Gleich innerhab der Maschinentoleranz" zu wählen.



RE: Labview rechnet falsch - Lucki - 20.12.2012 17:17

Nein, damit habe ich mich nie beschäftigt. Danke für den Hinweis, werde mich mal dort einlesen.


RE: Labview rechnet falsch - jg - 20.12.2012 17:22

So ein VI gibt es in OpenG

Gruß, Jens