Mam 108x8 Matrix (zwaną macierz), który wygląda tak:Jak zmienić kolejność kolumn macierzy komórek na podstawie kolejności macierzy wektorowej, zachowując wiersze nienaruszone w programie Matlab?
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
mam kolejną tablicę 108x8 komórek (tzw danych), który wygląda tak:
'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'
Chcę przegrupowania macierz w taki sposób, że każdy rząd pozostaje nienaruszony i jest posortowany w porządku rosnącym. Można to łatwo zrobić za pomocą polecenia [vals order] = sort(matrix,2)
. Chcę zmienić układ macierzy danych w ten sam sposób.
Dotychczasowe rozwiązania zasugerował użycie polecenia takie jak:
reordered_data=data(order)
to jednak nie daje pożądanego rezultatu, to jednak zmienić dane, ale nie we właściwej kolejności.
Mam nadzieję, że jest to jasne, proszę dać mi znać, jeśli potrzebne jest wyjaśnienie.
Dziękuję.
Dziękujemy! Jednak, że daje w wyniku: '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
Mój zły, zobacz edycję, to powinno zachować nienaruszone wiersze. – Junuxx
Dzięki, ale to wciąż nie jest poprawne. Pierwszy wiersz 'reordered_data' powinien mieć tylko dwie wartości" A ". – user2258821