|
Manfred |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 04.04.2016, 11:32
Titel: Sortierung in Matlab
|
 |
|
 |
|
Hallo zusammen,
ich bin noch ziemlich neu in Matlab und habe ein etwas komplexeres Sortierproblem. Daher habe ich unten ein ausführliches stark verkürztes Beispiel hingeschrieben, wodurch sich mein Problem hoffentlich etwas veranschaulichen lassen kann:
Ich habe 2 Matrizen NFA und RX. Diese sind jeweils 4x4 Matrizen
--NFA: (4 1 6 3)-----RX: (1 5 3 8)
--------(9 7 3 8)----------(3 4 5 2)
--------(4 6 2 5)----------(7 3 4 5)
--------(3 6 5 9)----------(1 8 4 7)
Die Lösung sollte so aussehen, dass NFA der Größe nach sortiert wird und in 2 Gruppen aufgespalten wird. RX soll aber nach dem Schema der Sortierung von NFA quasi mitsortiert werden und ebenfalls in 2 Gruppen getrennt werden. Also:
--NFA: (1 3 4 6)------RX:(5 8 1 3)
--------(3 7 8 9)----------(5 4 2 3)
--------(2 4 5 6)----------(4 7 5 3)
--------(3 5 6 9)----------(1 4 8 7)
Jeweils In 2 Gruppen (G1 und G2) aufgespaltet:
----------G1----G2------------G1---G2
--NFA: (1 3) (4 6) -----RX:(5 8) (1 3)
--------(3 7) (8 9) ---------(5 4) (2 3)
--------(2 4) (5 6)----------(4 7) (5 3)
--------(3 5) (6 9)----------(1 4) (8 7)
Jetzt gibt es aber noch einen dritten Faktor LDC, der dieselben Werte wie NFA beinhaltet aber anders sortiert ist.
LDC: (6 4 3 1)
------(7 8 3 9)
------(2 6 4 5)
------(9 6 5 3)
Ich möchte jetzt gerne jede Gruppe der NFA so neuordnen, dass die Reihenfolge des Faktors LDC entscheidet, welches Element in der jeweiligen Gruppe der NFA vorne steht. Die Lösung sollte so aussehen:
--------G1-----G2------------G1----G2
--NFA: (3 1) (6 4) -----RX:(8 5) (3 1)
--------(7 3) (8 9) ----------(4 5) (2 3)
--------(2 4) (6 5)-----------(4 7) (3 5)
--------(5 3) (9 6)-----------(4 1) (7 8)
Bsp.: 1.Zeile: In LDC steht die 3 vor der 1 und die 6 vor der 4, so dass die Reihenfolge auch in NFA tauscht.
In Zeile 2 ist in LDC die 7 vor der 3, die 8 aber weiterhin vor der 9, so dass nur Gruppe 1 tauschen würde. Wichtig ist daher, dass nicht komplett neu sortiert wird, sondern nur innerhalb der Gruppe getauscht werden soll (auf Basis des Faktors LDC). RX soll sich auch wieder der neuen Sortierung anpassen.
Ich hoffe das mein Problem verständlich geworden ist und ihr mir weiterhelfen könnt.
Viele Grüße und vielen Dank vorab,
Manfred
|
|
|
|
|
Winkow |

Moderator
|
 |
Beiträge: 3.842
|
 |
|
 |
Anmeldedatum: 04.11.11
|
 |
|
 |
Wohnort: Dresden
|
 |
|
 |
Version: R2014a 2015a
|
 |
|
|
 |
|
Verfasst am: 04.04.2016, 11:54
Titel:
|
 |
was hast du denn bis jetzt versucht und welche fehler sind dabei aufgetreten ?
_________________
richtig Fragen
|
|
|
Manfred |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 04.04.2016, 15:10
Titel:
|
 |
Hallo,
offen gesagt bin ich noch nicht wirklich weit gekommen.
Ich kann NFA sortieren mit:
Jetzt müsste ich aber jede Zeile von RX so wie NFA sortieren und da hakt es schon:
Mein Versuch:
Da bekomme ich aber den Fehler "vertcat, Dimensions of matrices being concatenated are not consistent"
Wahrscheinlich es gar nicht soo schwer, aber...
Viele Grüße,
|
|
|
Winkow |

Moderator
|
 |
Beiträge: 3.842
|
 |
|
 |
Anmeldedatum: 04.11.11
|
 |
|
 |
Wohnort: Dresden
|
 |
|
 |
Version: R2014a 2015a
|
 |
|
|
 |
|
Verfasst am: 04.04.2016, 16:36
Titel:
|
 |
wenn du dir ind anguckst stehen da die indexe bezogen auf jede zeile drin. am einfachsten und für anfänger am übersichtlichsten ist es dann diese einfach mit einer schleife abzuarbeiten.
_________________
richtig Fragen
|
|
|
|
|
Einstellungen und Berechtigungen
|
|
Du kannst Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen. Du kannst Dateien in diesem Forum posten Du kannst Dateien in diesem Forum herunterladen
|
|
Impressum
| Nutzungsbedingungen
| Datenschutz
| FAQ
| RSS
Hosted by:
Copyright © 2007 - 2025
goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks
MATLAB, Simulink, Stateflow, Handle Graphics, Real-Time Workshop, SimBiology, SimHydraulics, SimEvents, and xPC TargetBox are registered trademarks and The MathWorks, the L-shaped membrane logo, and Embedded MATLAB are trademarks of The MathWorks, Inc.
|
|