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!
30.05.2008, 09:08 (Dieser Beitrag wurde zuletzt bearbeitet: 30.05.2008 09:11 von eg.)
Habe zwei DBL Arrays - Zeit und Value. Muss im Value Array nach einem Wert (Mittelwert aus einem anderen Array) suchen und über Index die dazugehörige Zeit rausfinden.
Umgekehrt wäre kein Problem, denn die Zeit ist ja kohärent. Da könnte man mit ">" nach vorne vergleichen. Beim Value handelt es sich aber um unbekanntes Verhalten.
Euere Varianten?
Danke.
EDIT: klar, man kann zwei Schwellwerte definieren und innerhalb suchen, aber welche Schwellwerte genau? +- 1% oder so? Oder was mit Epsilon-Konstante?
Ich würde es über eine Schleife mit zwei Schieberegistern machen: In ein Schieberegister den Betrag der geringsten Differenz reinschreiben, in das andere den entsprechenden Index. Es würde immer der Betrag der Differenz zwischen dem aktuellen Wert und Wunschwert gesucht und, falls die Differenz kleiner ist als die vorige, die neuen Werte in die Schieberegister geschrieben.
Oder mache ich es mir da zu einfach oder zu aufwändig?
30.05.2008, 09:24 (Dieser Beitrag wurde zuletzt bearbeitet: 30.05.2008 09:35 von eg.)
Interessanter Ansatz, damit wird der Vergleich zumindest immer funktionieren. Einfach alle Differenzen in ein weiteres Array einfügen (oder sogar besser wie du es gesagt hast) und dort nach Minima suchen. Somit das am nähesten liegende Element rausfinden. Oder gibt es das schon in LV-StandardVIs dafür? Wenn ja, dann würde es mir reichen. Sonst finde ich es zu aufwendig. Mal schauen ob noch jemand etwas interessantes vorschlägt.
Kommt halt auch etwas drauf an, was man genau haben will.
Xaran's Methode find ich gut genug für bestimmte Sachen.
Man kann auch folgendes machen: Value-Array sortieren (natürlich so, dass sich das Time-Array "mit-sortiert"). Dann hat man ein kontinuierliches Array, in dem man alle Value/Time-Werte quasi beisammen hat und der Anwender alle Zeiten ersehen kann in einer bestimmten Umgebung eines festen Wertes.
[*grübel*]
Xaran's Methode alleine hat einen Nachteil: Was tun, wenn zwei identische Value-Werte zeitlich weit auseinander liegen? Welcher soll dann genommen werden?
Jeder, der zur wahren Erkenntnis hindurchdringen will, muss den Berg Schwierigkeit alleine erklimmen (Helen Keller).
Auch sehr gut, ich glaube ich werde es nehmen.
Du meinst also Sort 2D Array anwenden und dann mit ">" vergleichen. Vielleicht wird es länger dauern, aber das spielt für mich keine grosse Rolle, denn ich mache es offline.
' schrieb:Xaran's Methode alleine hat einen Nachteil: Was tun, wenn zwei identische Value-Werte zeitlich weit auseinander liegen? Welcher soll dann genommen werden?
Guter Punkt, da hat ich nicht drüber nachgedacht; das müsste noch extr bearbeitet werden.
Bei zwei identischen Werten ist immer der Nutzer gefragt, wenn kein festes Kriterium schon da ist?