LabVIEWForum.de - Im DBL Array suchen

LabVIEWForum.de

Normale Version: Im DBL Array suchen
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo LVF!

Folgendes Problem:

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?
Moin Moin!

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?
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.

Danke schon mal, Gruß
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?
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?
' schrieb:Du meinst also Sort 2D Array anwenden
So einfach ist das möglicherweise nicht. Möglicherweise muss das Time-Array mitsortiert werden.

[*grübel*]

So einfach ist das nicht. Was tun bei zwei identischen (!) Value-Werten bei (sehr) unterschiedlichen Zeiten?

Zitat:und dann mit ">" vergleichen.
Das wäre der Vorteil.
' schrieb:So einfach ist das möglicherweise nicht. Möglicherweise muss das Time-Array mitsortiert werden.

Das ist einfach, beim Sort2D Array werden alle Arrays mitsortiert.
Referenz-URLs