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.


Thema geschlossen 

Fehler mit Vergleichsoperatoren



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!

01.07.2010, 10:17 (Dieser Beitrag wurde zuletzt bearbeitet: 01.07.2010 10:18 von GerdW.)
Beitrag #11

GerdW Offline
______________
LVF-Team

Beiträge: 17.467
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
Fehler mit Vergleichsoperatoren
Hallo max,

"anschließend eine Division mit 100 durch ... und tada !!! Das VI macht das, was es machen soll"
Jetzt vielleicht. Aber später, irgendwann, mit anderen Zahlenbereichen...

Deine Addition ist weiterhin (rundungs-)fehlerbehaftet. Das Konvertieren nach I32 rundet deinen Wert - mit möglicherweise weiterer, ungewünschter Rundung. Die Division mit 100 führt weitere "Rechenfehler" ein, da 1/100 wie auch schon 1/10 nicht als (endlicher) Binärbruch darstellbar ist...
Rechnen mit Gleitkommazahlen kann so "unschön" seinSmile

Alle Beiträge dieses Benutzers finden
to top
01.07.2010, 10:56
Beitrag #12

max1185 Offline
LVF-Neueinsteiger


Beiträge: 6
Registriert seit: Jun 2010

9
2010
DE

2835
Deutschland
Fehler mit Vergleichsoperatoren
' schrieb:Wie wär's denn, statt dbl i32 zu verwenden. Ganzzahlen haben von Natur aus keine Rundungsfehler.

Ich erstelle eine Anwendung die einen Graphen ausspuckt, der ne Zeitachse hat und diesem als Einheit die Sekund verwendet wird. Da aber meine Werte nicht alle paar Sekunden, sondern sich etwa im ms-Bereich befinden, hab ich mit dbl gearbeitet.
Hmmm ... ich müsste dann den ganzen Code davor (boh das ist viel, da ich viele SubVIs habe) an ms anpassen und dann bei der Zeitachse am Ende wieder dbl ausgeben. Aber für die Ausgabe des Graphen könnte das eigentlich reichen, solange am Ende nicht wieder so ein ähnliches Rundungsproblem auftritt!

Danke !!! Ich denke das werde ich ausprobieren!

' schrieb:Deine Addition ist weiterhin (rundungs-)fehlerbehaftet. Das Konvertieren nach I32 rundet deinen Wert - mit möglicherweise weiterer, ungewünschter Rundung. Die Division mit 100 führt weitere "Rechenfehler" ein, da 1/100 wie auch schon 1/10 nicht als (endlicher) Binärbruch darstellbar ist...
Rechnen mit Gleitkommazahlen kann so "unschön" seinSmile

Ja da hast du absolut recht!
Ich hab jetzt über 210 Stunden für mein Projekt investiert und jetzt sehe ich plötzlich das mir mein Graph nicht genau Werte in so einem kleinen Wertebereich (also 2-3 Nachkommastellen) liefert. Er spuckt mir die Werte nicht bis zum Schluss aus oder bestimmte Zeichnungen fangen entweder ein tick zu früh oder ein tick zu spät anfangen ... Der Code sieht logisch aus aber das Ergebniss nicht Big Grin
Alle Beiträge dieses Benutzers finden
to top
01.07.2010, 11:18
Beitrag #13

GerdW Offline
______________
LVF-Team

Beiträge: 17.467
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
Fehler mit Vergleichsoperatoren
Hallo max,

Tipps dann für's nächste Projekt:
- bei äquidistanten Messwerten mit Waveforms arbeiten
- Zeit in ms als I32 merken, X-Achse des Graphs per Rechtsklick->Formatting->Scales->Offset/Multiplier umrechnen lassen
- Grundregel für's Rechnen mit Gleitkommazahlen: wiederholte Rechenoperationen meiden bzw. umformen (statt n-mal eine Schrittweite zu addieren könnte man auch die Schrittweite mit dem Loop-Iterator multiplizieren...)

Alle Beiträge dieses Benutzers finden
to top
01.07.2010, 11:44
Beitrag #14

max1185 Offline
LVF-Neueinsteiger


Beiträge: 6
Registriert seit: Jun 2010

9
2010
DE

2835
Deutschland
Fehler mit Vergleichsoperatoren
' schrieb:Tipps dann für's nächste Projekt:
- bei äquidistanten Messwerten mit Waveforms arbeiten
- Zeit in ms als I32 merken, X-Achse des Graphs per Rechtsklick->Formatting->Scales->Offset/Multiplier umrechnen lassen
- Grundregel für's Rechnen mit Gleitkommazahlen: wiederholte Rechenoperationen meiden bzw. umformen (statt n-mal eine Schrittweite zu addieren könnte man auch die Schrittweite mit dem Loop-Iterator multiplizieren...)
Wenn du mit Waveforms die Funktionen unter Signalverarbeitung -> Signalverlauferzeugung und/oder Signalerzeugung meinst, dann hab ich damit zwar am Anfang ein wenig experimentiert, bin dann aber auf mein System umgestiegen ... ich könnte versuchen, wieder zurück zum alten System zu wechseln, weiß aber nicht, wie lange ich dafür dann brauchen werde.
       
Und auf den dritten Tipp bin ich auch kurz vor deiner Antwort drauf gekommen und das funktioniert wirklich gut!
Alle Beiträge dieses Benutzers finden
to top
01.07.2010, 11:52
Beitrag #15

GerdW Offline
______________
LVF-Team

Beiträge: 17.467
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
Fehler mit Vergleichsoperatoren
Hallo max,

Waveform ist ein Datentyp von LabVIEW (wie er von den von dir erwähnten Funktionen benutzt wird):
   
Zu finden u.a. bei den IO-Frontpanel-Elementen gleich links oben.

Alle Beiträge dieses Benutzers finden
to top
01.07.2010, 18:54
Beitrag #16

Y-P Offline
☻ᴥᴥᴥ☻ᴥᴥᴥ☻
LVF-Team

Beiträge: 12.612
Registriert seit: Feb 2006

Developer Suite Core -> LabVIEW 2015 Prof.
2006
EN

71083
Deutschland
Fehler mit Vergleichsoperatoren
Sogar in HD. Da fehlt nur noch "Dolby Digital" - Sound. Big Grin
Ich finde die Idee klasse. Top2

Gruß Markus

' schrieb:Edit: und ein Video zum Fehler zeigen, ist ja was ganz neues-> Luxus pur Big Grin

--------------------------------------------------------------------------
Bitte stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort !!
--------------------------------------------------------------------------
Alle Beiträge dieses Benutzers finden
to top
Anzeige
01.07.2010, 19:21
Beitrag #17

max1185 Offline
LVF-Neueinsteiger


Beiträge: 6
Registriert seit: Jun 2010

9
2010
DE

2835
Deutschland
Fehler mit Vergleichsoperatoren
Danke an alle, für ihre Ideen, Tipps und Kommentare !!!

Top2
Alle Beiträge dieses Benutzers finden
to top
Thema geschlossen 


Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  "Seltsamer Fehler", LabView-Anwendung erzeugt einen Fehler 2200 ASM 5 7.832 23.01.2011 17:40
Letzter Beitrag: Y-P

Gehe zu: