Im DBL Array suchen - Druckversion +- LabVIEWForum.de (https://www.labviewforum.de) +-- Forum: LabVIEW (/Forum-LabVIEW) +--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein) +--- Thema: Im DBL Array suchen (/Thread-Im-DBL-Array-suchen) |
Im DBL Array suchen - eg - 30.05.2008 09:08 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? Im DBL Array suchen - Xaran - 30.05.2008 09:18 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? Im DBL Array suchen - eg - 30.05.2008 09:24 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ß Im DBL Array suchen - IchSelbst - 30.05.2008 09:26 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? Im DBL Array suchen - eg - 30.05.2008 09:33 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. Im DBL Array suchen - Xaran - 30.05.2008 09:43 ' 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? Im DBL Array suchen - IchSelbst - 30.05.2008 10:12 ' schrieb:Du meinst also Sort 2D Array anwendenSo 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. Im DBL Array suchen - eg - 30.05.2008 10:14 ' 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. |