INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.


Antwort schreiben 

Kleiner/gleich vergleich versagt



Wenn dein Problem oder deine Frage geklärt worden ist, markiere den Beitrag als "Lösung",
indem du auf den "Lösung" Button rechts unter dem entsprechenden Beitrag klickst. Vielen Dank!

29.01.2008, 08:50 (Dieser Beitrag wurde zuletzt bearbeitet: 29.01.2008 08:51 von weesnich.)
Beitrag #1

weesnich Offline
LVF-Grünschnabel
*


Beiträge: 37
Registriert seit: Dec 2007

8.2
2007
kA

7XXXX
Deutschland
Kleiner/gleich vergleich versagt
Guten morgen

In einem Teil meines Programms, wo 2 Werte verglichen werden, soll auch ein True ausgegeben werden, wenn die 2 Werte gleich sind. Normalerweise funktioniert der Vergleich immer prima, aber bei meinem Aufbau versagt er. Warum? Was mache ich da falsch? Sobald ich eine Zahl um 0,1 jeden Schleifendurchgang aufsteigen lasse und die andere Zahl 2 beträgt, erhalte ich ein False!

Hier mal ein Nachbau im Anhang. Handelt es sich um ein Formatierungsproblem?


Lv82_img


Sonstige .vi  kleiner_gleich.vi (Größe: 10,2 KB / Downloads: 316)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
29.01.2008, 10:18
Beitrag #2

Achim Offline
*****
*****


Beiträge: 4.222
Registriert seit: Nov 2005

20xx
2000
EN

978xx
Deutschland
Kleiner/gleich vergleich versagt
Seltsam...wenn man als Startwert irgendwas kleiner als 1,7 eingibt ergibt sich das von dir beschriebene Verhalten, ab 1,8 stimmts...

"Is there some mightier sage, of whom we have yet to learn?"

"Opportunity is missed by most people because it is dressed in overalls and looks like work." (Thomas Edison)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
29.01.2008, 10:23 (Dieser Beitrag wurde zuletzt bearbeitet: 29.01.2008 10:59 von Lucki.)
Beitrag #3

Lucki Offline
Tech.Exp.2.Klasse
LVF-Team

Beiträge: 7.699
Registriert seit: Mar 2006

LV 2016-18 prof.
1995
DE

01108
Deutschland
Kleiner/gleich vergleich versagt
Der Vergleich von Realzahlen auf Gleichheit funktioniert nur selten. Sie sind (- bei unterschiedlichen Rechenoperatinen -) nie gleich, sondern immer nur gleich innerhalb der Maschinengenauigkeit epsilon. Diese Konstante (siehe in der Funktionspalette unter numerisch) hat für double den Wert 2.22E-16. Wahrscheinlich kann bei mehreren Rechenoperationen hintereinander die resultierende Toleranz auch größer sein als Epsilon. Man sollte also, wenn es darauf ankommt, die Gleichheitprüfung durch die Prüfung, ob sie innerhalb der Toleranz Epsilon gleich sein, ersetzen.
Konkret: Die Zahl, die Du mit 2 vergleichst, hat in Wirklichkeit diesen Wert: (uups, das ist nicht die 2, aber Du verstehst schon)
   


Zitat:In einem Teil meines Programms, wo 2 Werte verglichen werden,
Mein Deutschlehrer hätte verzweifelt gerufen "Wo nur bei Ortsangaben, wie oft muß ich das noch sagen!"

edit: @Achim: ich würde das so erklären, daß Größe (und Vorzeichen) der Ungenauikeit abhängig von Startwert ist, so daß es bei einem Wert funktioniert, bei einem anderen nicht.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
29.01.2008, 10:27 (Dieser Beitrag wurde zuletzt bearbeitet: 29.01.2008 10:28 von VDB.)
Beitrag #4

VDB Offline
LVF-Stammgast
***


Beiträge: 426
Registriert seit: Oct 2005

2010-2011
1997
kA

52134
Deutschland
Kleiner/gleich vergleich versagt
Das Vergleichen von Doubles wurde hier im Forum schon x-mal durchgekaut..., mann kann Doubles nicht direkt vergleichen.

Siehe hier: http://wiki.lavag.org/Numeric

VDB

edit: Lucki war schneller...
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
29.01.2008, 10:43
Beitrag #5

weesnich Offline
LVF-Grünschnabel
*


Beiträge: 37
Registriert seit: Dec 2007

8.2
2007
kA

7XXXX
Deutschland
Kleiner/gleich vergleich versagt
Oh, okay danke!
Trotzdem eine etwas verrückte Sache, dass man mit Hilfe der Genauigkeit/Formatierung diese Toleranz nicht wegfallen lassen kann...
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
29.01.2008, 10:46
Beitrag #6

eg Offline
LVF-SeniorMod


Beiträge: 3.868
Registriert seit: Nov 2005

2016
2003
kA

66111
Deutschland
Kleiner/gleich vergleich versagt
Benutze statt dessen das VI "In Range and Coerce", da kannst du deine Toleranz wegfallen lassen.

Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
29.01.2008, 10:53
Beitrag #7

VDB Offline
LVF-Stammgast
***


Beiträge: 426
Registriert seit: Oct 2005

2010-2011
1997
kA

52134
Deutschland
Kleiner/gleich vergleich versagt
' schrieb:Oh, okay danke!
Trotzdem eine etwas verrückte Sache, dass man mit Hilfe der Genauigkeit/Formatierung diese Toleranz nicht wegfallen lassen kann...


Das betrifft nur die Darstellung und hat keinen Einfluss auf den tatsächlichen Wert!

VDB
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
29.01.2008, 10:59
Beitrag #8

weesnich Offline
LVF-Grünschnabel
*


Beiträge: 37
Registriert seit: Dec 2007

8.2
2007
kA

7XXXX
Deutschland
Kleiner/gleich vergleich versagt
okay versuche es mal damit, sonst Vergleiche ich einfach ob es kleiner ist als der nächste Wert udn lasse eifnach das gleich weg, ich kenne ja die Schrittweite, da ich sie vorgebe.

Ist es möglich den Wert, den ich da Stück für Stück aufsummiere, näher an meinen eigentlichen Wert ranzubringen, oder lässt sich diese Toleranz nicht so leicht entfernen? ich gebe diese Wert nämlich an ein SourceMeter weiter, das die entsprechende Spannung/Strom erstellen soll dun will nicht das diese Toleranz bei größeren Messungen Einfluss nimmt.

' schrieb:Benutze statt dessen das VI "In Range and Coerce", da kannst du deine Toleranz wegfallen lassen.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
29.01.2008, 11:05 (Dieser Beitrag wurde zuletzt bearbeitet: 29.01.2008 11:10 von Lucki.)
Beitrag #9

Lucki Offline
Tech.Exp.2.Klasse
LVF-Team

Beiträge: 7.699
Registriert seit: Mar 2006

LV 2016-18 prof.
1995
DE

01108
Deutschland
Kleiner/gleich vergleich versagt
' schrieb:Trotzdem eine etwas verrückte Sache, dass man mit Hilfe der Genauigkeit/Formatierung diese Toleranz nicht wegfallen lassen kann...
Die Formatierung betrifft nur die Darstellung in der Anzeige. Um die Zahl selbst auf z.B. echt 4 Kommastellen zu runden, mußt Du sie mit 1e4 multiplizieren, auf Ganzzahl runden und dann wieder durch 1e4 dividieren. (oder alternativ: zwischenzeitlich in Text konvertieren).

... und diesmal war VDB schneller, ein Telefonanruf während des Schreibens (in offensichtlich bösartiger Absicht) war schuld!
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
29.01.2008, 11:19
Beitrag #10

weesnich Offline
LVF-Grünschnabel
*


Beiträge: 37
Registriert seit: Dec 2007

8.2
2007
kA

7XXXX
Deutschland
Kleiner/gleich vergleich versagt
Das mit dem String funktioniert einwandfrei, erst in String und dann wieder zurück nach DBL, dankeschön!
Für mich ist der Fall so erledigt, ich habe eine Lösung und bin ein ganzes Stück schlauer! Danke! ich werd wohl in Zukunft lieber alles nochmal selbst nachrechnen was eine Maschine mir ausspuckt LesenHehe

' schrieb:Die Formatierung betrifft nur die Darstellung in der Anzeige. Um die Zahl selbst auf z.B. echt 4 Kommastellen zu runden, mußt Du sie mit 1e4 multiplizieren, auf Ganzzahl runden und dann wieder durch 1e4 dividieren. (oder alternativ: zwischenzeitlich in Text konvertieren).

... und diesmal war VDB schneller, ein Telefonanruf während des Schreibens (in offensichtlich bösartiger Absicht) war schuld!
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Antwort schreiben 


Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  Mittelwert wenn Werte in erster Spalte gleich marc_ampa 6 4.601 21.03.2022 08:38
Letzter Beitrag: marc_ampa
  Vergleich zweier Zahlen LabViewPete 13 10.992 27.10.2020 12:52
Letzter Beitrag: THL
  Mehrfach Vergleich auf Gleichheit MicroScoop 7 5.579 13.08.2019 14:21
Letzter Beitrag: MicroScoop
  String Vergleich erklären 911tom 3 4.308 12.07.2017 17:51
Letzter Beitrag: jg
  Array-Vergleich und Mittelwertbildung domdom 4 4.351 15.05.2017 10:59
Letzter Beitrag: jg
  Vergleich und Neusortierung zweier Arrays domdom 6 5.142 30.11.2016 09:13
Letzter Beitrag: domdom

Gehe zu: