LabVIEWForum.de - Werte aus Array entfernen

LabVIEWForum.de

Normale Version: Werte aus Array entfernen
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo.

Ich hätte da ein Anfängerproblem: Wie kann ich aus einem 1-dim Array alle Nullen entfernen?

Es würde auch reichen die Werte zu verschieben und die Nullen an den Schluss zu setzten. Ich hab das mit einer for-Schleife und einer case-struktur probiert, jedoch sind die Nullen danach immernoch an der selben Stelle...

Danke für eure Hilfe
' schrieb:jedoch sind die Nullen danach immernoch an der selben Stelle...
Ja.

Der hauptsächliche Fehler ist das Vergleichen auf Null. Gleitpunktzahlen wie z.B. DBL kann man nicht auf genau 0.0 abfragen. Das liegt in der Natur der Realzahlen. Hier musst du auf einen Bereich abfragen. Als Null gilt alles, was betragsmäßig kleiner als z.B. 1E-6 ist.

Auch das Herausnehmen der Zahl aus dem Array wird so nicht funktionieren.

Ich hab dir mal ein Muster gemacht. Möglichkeiten für eine Lösung deiner Aufgabe gibt es aber viele.
' schrieb:Hallo.
Ich hätte da ein Anfängerproblem: Wie kann ich aus einem 1-dim Array alle Nullen entfernen?
Ichselbst hat zwar Recht, der Vergleich mit Null kann wegen der Natur der Realzahlen schiefgehen, vor allem dann, wenn die Null nicht direkt erzeugt worden ist, sondern die Null das theoretische Ergebnis einer (mehr oder weinger) komplizierten Rechenoperation ist.
Trotzdem: Dein Hauptfehler war das nicht. Der besteht einfach darin, daß Du die Elemente vom Wert Null nicht löschst, sondern durch Defaultwerte ersetzt. Und der Defaultwert ist schlichtweg wieder der Wert Null. Im Ergebnis ändert ich also weder an der Größe das Arrays noch an den Elementen irgend etwas: Output = Input.
Die temporäre Konvertierung vpn Realzahlen in Strings (mit begrenzter Stellenzahl) hat sich nach meinen Erfahrungen auch sehr gut bewährt, um Probleme mit Nullvergleichen auszuräumen:
[attachment=16869]
(blaues Shift-Register sollte man noch mit 0 initialisieren)
Referenz-URLs