Den ersten, nähersten Wert finden
Verfasst: Dienstag 26. April 2022, 12:30
Hallo Zusammen,
ich möchte in einem array die Position vom ersten, nähersten Wert finden.
Zum Beipiel, ich habe ich einen Sinus verlauf:
In diesem Fall bekomme ich:
"Das Listenelement mit der geringsten Abweichung ist: 4.01 Listenindex: 7"
Es ist 100% richtig.
Aber,
da ich mit den Messwerten arbeite, weiß ich, dass der Wertt "4.1" in meinem Fall richtiger ist, obwohl "4.01" zu 4 als nächstes ist.
Meine erste überlegung ist mit den Daten Typ spielen. Z.B. alle werte im vektor "werte" in "int" konvertieren.
Konnte diese Frage inteliegenter gelöst werden?
Noch eine Frage:
wie würd der Code aussehen, wenn der Suchwert ein Batrag (abs) wäre? weil "4.1" positiv oder nägativ sein kann.
Vielen Dank für die Antwort im Voraus!
mfg Yurii
ich möchte in einem array die Position vom ersten, nähersten Wert finden.
Zum Beipiel, ich habe ich einen Sinus verlauf:
Code: Alles auswählen
import numpy as np
werte = [1, 2, 3, 4.1, 5, 6, 5, 4.01, 3, 2, 1, -1, -2, -3, -4.1, -5, -6, -5,-4.01, -3, -2, -1]
suchwert = 4
index=abs(np.array(werte)-suchwert).argmin()
print("Das Listenelement mit der geringsten Abweichung ist:",werte[index],"Listenindex:",index)
"Das Listenelement mit der geringsten Abweichung ist: 4.01 Listenindex: 7"
Es ist 100% richtig.
Aber,
da ich mit den Messwerten arbeite, weiß ich, dass der Wertt "4.1" in meinem Fall richtiger ist, obwohl "4.01" zu 4 als nächstes ist.
Meine erste überlegung ist mit den Daten Typ spielen. Z.B. alle werte im vektor "werte" in "int" konvertieren.
Konnte diese Frage inteliegenter gelöst werden?
Noch eine Frage:
wie würd der Code aussehen, wenn der Suchwert ein Batrag (abs) wäre? weil "4.1" positiv oder nägativ sein kann.
Vielen Dank für die Antwort im Voraus!
mfg Yurii