LabVIEWForum.de
Adaptive Arraygröße - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+--- Thema: Adaptive Arraygröße (/Thread-Adaptive-Arraygroesse)



Adaptive Arraygröße - knutroggers - 27.02.2008 13:55

Hallo zusammen!

Ich hab folgende Situation/Problem:
Ich bekomm über RS232 Werte (-> umrechnen) die in ein Array gespeichert und dargestellt werden. (ca. alle 15 ms kommt ein neuer Wert)
Bisher hab ichs so gemacht (wie im Anhang zu sehen ist), dass die Arraygröße fix ist (es wird also immer der älteste Wert gelöscht und ein neuer hinzugefügt). Für meine bisherigen Tests reichte das so, nun brauch ich aber folgendes:
Diese Werte repräsentieren eine Zeit, ich hätte nun gerne, dass das Array immer so lang ist, dass die Summe aller Werte 5 sec ist (+Rest der letzten Zeit). Der "älteste" Wert soll wegfallen sobald das Array auch ohne diesem 5 sec "lang" ist.

Bsp:
Array (Länge 5)
1
1
1
1
1

nächster Wert: 2
neues Array (Länge 4)
2
1
1
1

nächster Wert: 0,1
Array (Länge 5)
0,1
2
1
1
1

nächster Wert: 0,5
Array (Länge 6)
0,5
0,1
2
1
1
1

nächster Wert: 0,5
Array (Länge 6)
0,5
0,5
0,1
2
1
1

Hoffentlich hab ich mich halbwegs verständlich ausgedrückt.
Vielen Dank schon mal (alleine fürs bis-hier-her lesenSmile)
Reinhard

LV 8.0
[attachment=11375]

PS: Einfach auf "Simulation" laufen lassen (jaja, das hab ich da drin etwas zamgefizzelt - aber es tut das was es soll ;-) )


Adaptive Arraygröße - thomas.sandrisser - 28.02.2008 07:41

Du koenntest es beispielsweise so machen (ohne den Aspekt der dyn. Speicherallokierung in deinem Fall zu betrachten :-)) ein 2D Array basteln und jedem Wert den aktuellen Zeitstempel verpassen.
Nach jeder Iteration (oder x-ten Iteration) vergleichst den aktuellen Zeitstempel mit den gespeicherten und wirfst alles aelter als 5sec weg.


Adaptive Arraygröße - knutroggers - 28.02.2008 13:23

Also ich hab nun eine (eigentlich sehr einfacheSmile) Variante gefunden, wie es für mich halbwegs passt:
[attachment=11392] (LV 8.0)

(Das mit dem simulieren funktioniert jetzt nicht so gut - für meine tatsächliche Anwendung passt es halbwegs, da das Signal ziemlich stetig ist.)

Reinhard