Ich habe eine 108x8-Matrix (Matrix genannt), die wie folgt aussieht:Wie werden Zellenfeldspalten in der Reihenfolge einer Vektormatrix neu angeordnet, während Zeilen in Matlab intakt bleiben?
5 8 3 6 2 1 7 4
8 4 2 7 1 3 6 5
5 4 3 2 1 7 8 6
1 7 8 5 6 4 3 2
Ich habe eine andere 108x8 Zellenfeld (Data), die wie folgt aussieht:
'B' 'B' 'B' 'A' 'B' 'B' 'A' 'B'
'A' 'B' 'B' 'A' 'B' 'A' 'A' 'A'
'A' 'A' 'B' 'A' 'A' 'B' 'B' 'B'
'A' 'A' 'A' 'B' 'A' 'A' 'A' 'A'
Ich möchte, dass die neu zu ordnen Matrix so, dass jede Zeile intakt bleibt und in aufsteigender Reihenfolge sortiert ist. Dies kann einfach mit dem Befehl [vals order] = sort(matrix,2)
durchgeführt werden. Ich möchte die Datenmatrix in der gleichen Weise neu anordnen.
Bisherige Lösungen vorgeschlagen, die Verwendung eines Befehls wie:
reordered_data=data(order)
Dies ist jedoch nicht das gewünschte Ergebnis nicht geben, tut es die Daten neu zu sortieren, aber nicht in der richtigen Reihenfolge.
Hoffentlich ist dies klar, bitte lassen Sie mich wissen, wenn Klärung erforderlich ist.
Vielen Dank.
Vielen Dank! Aber das gibt ein Ergebnis von: 'reordered_data = 'B' \t 'B' \t 'A' \t 'B' \t 'A' \t 'A' \t 'B' \t 'B' 'B' \t ' B‘\t 'B' \t 'B' \t 'B' \t 'B' \t 'B' \t 'B' 'A' \t 'A' \t 'A' \t 'A' \t 'A' \t 'A' \t 'A' \t 'A' 'B' \t 'B' \t 'A' \t 'B' \t 'B' \t 'B' \t 'B' \t 'B'' – user2258821
Meine schlechte, siehe die Bearbeitung, sollte dies die Zeilen intakt halten. – Junuxx
Danke, aber das ist immer noch nicht korrekt. Die erste 'reordered_data' Zeile sollte nur zwei" A "Werte haben. – user2258821