Seite 1 von 1

Array Anordnung

Verfasst: Donnerstag 16. Juni 2022, 14:11
von Juan.Herrera
Hallo Zusammen,

ich habe ein 2dim Array was ungefähr folgende Form hat.

[[1,2,3,4,5,6,7,8,9,10][1,2,3,4,5,6,7,8,9,10]]

zusammen bildet das Array eine Funktion, die geplottet werden kann.
dabei sind die x werte die erste Zeile und die y werte die zweite.

Ich habe also folgende Punkte (1,1)(2,2),...,(10,10)

Tatsächlich habe ich über 500 werte pro Zeile und die sind jeweils sehr unterschiedlich.
Gefragt ist immer die kürzeste Distanz zum Nächstliegenden Punkt für alle Punkte.
Dafür soll ich alle Abstände aller Punkte zu allen anderen Punkten bilden, und dann bei allen den kleinsten jeweils rechnen.
die Abstände sollen dann von kleinsten bis größten (Abstand) in einem neuen Array sortiert werden.

Wie wurdet ihr das machen?

Vielen dank, beste Grüße

Re: Array Anordnung

Verfasst: Donnerstag 16. Juni 2022, 16:53
von __blackjack__
@Juan.Herrera: Suchst Du so was wie `scipy.spatial.distance_matrix()`?

Re: Array Anordnung

Verfasst: Donnerstag 16. Juni 2022, 17:12
von __deets__
Wahrscheinlich kann man da eine Menge mit numpy und Co verschnellern, aber fuer eine naive Implementierung wuerde ich mir zwei Sachen anschauen:

- zip zum kombinieren der zwei Listen zu einer Liste von Tupeln.
- das "key"-Argument an sorted, dem du eine Funktion mitgeben kannst, die einen Abstand nach den klassischen euklidischen Regeln fuer einen festen Punkt und den gerade betrachteten bestimmt. So erhaelst du fuer einen gegebenen Punkt p eine Liste von Punkten, die nach Abstand aufsteigend sortiert sind. Der erste ist natuerlich der Punkt selbst.