Gibt es irgendeine relativ einfache Methode um in einem Zahlenarray den Index des quasi ähnlichsten Werts zu einer Zahl zu finden?..... also zB ein array mit:
1.01
2.32
3.45
5.30
ich suche im Array nach der zahl "2" und bekomme den Index von 2.32 ausgegeben.
gibts dafür vielleicht sogar eine Funktion?
lg
Hallo,
probier das mal
Gruß, Marko
Edit: In meinem Beispiel wird die 4 gesucht
Danke! genau das hab ich gebraucht, nur wär ich glaub ich nicht draufgekommen :-)
Man kann aber auch die Funktion dafür verwenden, deren Existenz Du schon vermutest hattest. Sie heißt "Schwellwert (1D-Array)"
[
attachment=46454]
Wenn man die Frage umformuliert in "Finde den Wert mit dem geringsten Abstand zum gegebenen Wert", dann wird die Problemlösung auch schon einfacher!
"Ähnlichkeit" kann auch anders interpretiert werden...
(24.09.2013 19:16 )Lucki schrieb: [ -> ]Man kann aber auch die Funktion dafür verwenden, deren Existenz Du schon vermutest hattest. Sie heißt "Schwellwert (1D-Array)"
Hierbei muss man allerdings aufpassen, dass die Arrayelemente aufsteigend sind. Dreht man das Eingangsarray nämlich um, ist es komplett egal, was man sucht - es kommt immer "0" heraus.
(s. auch Kontexthilfe)
Gruß, Marko
(25.09.2013 10:30 )Trinitatis schrieb: [ -> ]Hierbei muss man allerdings aufpassen, dass die Arrayelemente aufsteigend sind.
Es wäre sogar der Fall denkbar, dass die Elemente weder aufsteigend noch absteigend sind, sondern durcheinander. Selbst in diesem Fall würde Dein VI noch den richtigen Index mit dem naheliegendsten Wert liefern. Ich hätte hier also besser nicht klugscheißern sollen.
Ich find´s aber trotzdem gut, dass diese Funktion mal ins Spiel gebracht wurde, die habe ich vorher noch nie verwendet. Wenn es mal performant sein soll und man sicherstellen kann, dass die Eingangsfolge aufsteigen ist, wird es so wohl deutlich schneller sein. (vermute ich mal)
Gruß, marko