Suchen im Array... - Druckversion +- LabVIEWForum.de (https://www.labviewforum.de) +-- Forum: LabVIEW (/Forum-LabVIEW) +--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein) +--- Thema: Suchen im Array... (/Thread-Suchen-im-Array) |
Suchen im Array... - Falk - 31.01.2007 10:45 Hallo LV-Gemeinde! Ich bastel gerade an einem kleinen Projekt. Zumindestens dachte ich, dass es klein wäre, allerdings sitze ich nun schon seit 2 Tagen vor einem für mich unlösbaren Problem. Ich möchte in meinem Projekt Messdaten aus einer Binärdatei auslesen und in eine globale Variable speichern. Dabei werden jedem Messwerte so eine Art Pointer zugeordnet, so dass man noch dem Zwischenspeichern in dieser Variable die Daten unter Angabe des Pointers auch wieder herausholen kann. Ich werde mal im Anhang ein Bild reinsetzen wie das ganze ausschaut. Das Problem ist nun, dass wenn ich einen Wert aus der Variable lesen möchte scheitert das des öfteren an dem Suche nach dem Pointer. Obwohl dieser in dem Array (siehe Bild) drin ist, findet er diesen nicht. Der Index ist damit -1. Dieses Problem taucht nicht bei allen Werten auf aber des öfteren. Als Beispiel in der Grafik hab ich mal den Wert 0,12 dargestellt. Kurz gesagt muss irgendwie der Vergleich der Zahlen scheitern. Hat jemand schon einmal so ein ähnliches Problem gehabt und kann mir vielleicht weiterhelfen? Schöne Grüße Falk Suchen im Array... - Achim - 31.01.2007 10:54 Hi, warum machst du aus dem Pointer-Array ein Cluster? Mir ist noch nicht so richtig klar, wie die Suche funktionieren soll... Bei "array to cluster" kannst (musst!) du mit nem Rechtsklick die Cluster-Size festlegen (Default = 9). Wenn diese geringer ist als deine Array-Länge, geht alles danach verloren! Könnte das dein Problem sein? Dann musst du wohl deinen Such-Algorithmus noch mal überdenken... Gruss Achim Suchen im Array... - Mr.T - 31.01.2007 11:11 Hallo! Ich kann dem Ganzen auch noch net richtig folgen... Poste doch eine "Reale" Tabelle - dann sehen wir weiter. Da Du von "Vergleich" sprichst - könnte da nicht das allgegenwärtige "="-Problem bei Gleitpunktzahlen eine Rolle spielen (Anzeige und Speichergenauigkeit/relevante Kommastellen)? Gruß Sonny Suchen im Array... - VDB - 31.01.2007 12:43 Das ist ja eine grobe Programmiersünde... Double-Werte (Gleitkommazahlen) darf man nie direkt vergleichen, es kann sein das die n-te Nachkommastelle unterschiedlich ist, auch wenn LabVIEW 2 x 0,12 anzeigt. Bei Gleitkommazahlen muss man immer mit einem Bereich z.B. (-0,0001 / Zahl +0,0001) vergleichen. In deinem Fall kannst Du auch so was benutzen: [attachment=4940] Gruß VDB Suchen im Array... - Y-P - 31.01.2007 13:06 Hallo, könntest Du das Beispiel bitte mal als VI hochladen, oder zumindest sagen, was das mit dem 0,23999 für eine Funktion ist? ;)Dann kann man es leichter nachbauen. Gruß Markus ' schrieb:Das ist ja eine grobe Programmiersünde... Suchen im Array... - VDB - 31.01.2007 13:47 Ja klar: [attachment=4942] Gruß, VDB Suchen im Array... - cb - 31.01.2007 13:51 ' schrieb:oder zumindest sagen, was das mit dem 0,23999 für eine Funktion ist? ;)Dann kann man es leichter nachbauen. Array-Palette --> calculate fractional index |