Seite 1 von 1

Sortieren und Rücksortieren einer Matrix

Verfasst: Samstag 27. Mai 2017, 07:41
von CoderGirl
Hallo und guten Morgen,

ich habe eine kleine Aufgabe, die ich nicht wirklich weiss, wie zu lösen.

Ich habe eine Array in Matrixform und will dann zeilenweise absteigend sortieren.
Darauf dann je Wert eine Operation ausführen (die beiden Nachbarn addieren)
und dann den geänderten Wert wieder an die ursprüngliche Stelle zurückschreiben.

Wie löse ich das am besten?

lg
codergirl

Re: Sortieren und Rücksortieren einer Matrix

Verfasst: Samstag 27. Mai 2017, 11:50
von BlackJack
@CoderGirl: Kannst Du ein Beispiel für die Eingabe zeigen und wie die Ausgabe dazu aussehen soll?

Ansonsten: Sortieren geht mit `argsort()` und anschliessendem Indexzugriff mit dem Ergebnis der Funktion/Methode. Zum Rücksortieren kann man sich aus dem `argsort()`-Ergebnis und einem Array mit aufsteigenden Werten einen inversen Index erstellen.

Re: Sortieren und Rücksortieren einer Matrix

Verfasst: Samstag 27. Mai 2017, 13:18
von CoderGirl
Hi

danke für die Antwort..

ich mag mal ein Bsp:

Ausgangsmatrix:

mat = np.array([ [2, 3, 1, 4 ],
[1, 3, 4, 2 ],
[4, 2, 8, 9 ])

Sortiert:

mat_sort = np.array([ [4, 3, 2, 1 ],
[4, 3, 2, 1 ],
[9, 8, 4, 2 ])

Berechnung: Addition des linke und rechten Nachbar in der Zeile, wenn es ihn gibt:

mat_add = np.array([ [7, 9, 6, 3 ],
[7, 9, 6, 3 ],
[17, 21, 14, 6 ])

"Zurücksortiert" auf die alte Stelle

mat_back = np.array([ [6, 9, 3, 7 ],
[3, 9, 7, 6 ],
[14, 6, 21, 17 ])

Danke euch

Re: Sortieren und Rücksortieren einer Matrix

Verfasst: Samstag 27. Mai 2017, 14:46
von CoderGirl
danke für die Hilfe, aber ich habe eben einen anderen
Ansatz gefunden, das Problem gänzlich anders zu lösen. :D :D :D :D