WICHTIG: Der Betrieb von goMatlab.de wird privat finanziert fortgesetzt. - Mehr Infos...

Mein MATLAB Forum - goMatlab.de

Mein MATLAB Forum

 
Gast > Registrieren       Autologin?   

Partner:




Forum
      Option
[Erweitert]
  • Diese Seite per Mail weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

Matrix nach einer Zeile sortieren

 

DKKA
Forum-Anfänger

Forum-Anfänger


Beiträge: 17
Anmeldedatum: 16.02.15
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 07.03.2015, 17:53     Titel: Matrix nach einer Zeile sortieren
  Antworten mit Zitat      
Hallo zusammen,

1. Eine generelle Frage bezüglich der Speicherung von Koordinatenpunkte. Welche Matrixvariante empfehlt ihr für die Speicherung von (X,Y)-Punkten?:
Code:
x_1  x_2
y_1  y_2

oder
Code:
x_1  y_1
x_1  y_2


2. Ich hab erste Variante verwendet, wie kann ich nun die Vektoren so sortieren, dass alle nach der X-Koordinate sortiert werden? So zum Beispiel:
Code:
2 1 4
4 5 1

wird zu
Code:
1 2 4
5 4 1


Vielen Dank.
Private Nachricht senden Benutzer-Profile anzeigen


Winkow
Moderator

Moderator



Beiträge: 3.842
Anmeldedatum: 04.11.11
Wohnort: Dresden
Version: R2014a 2015a
     Beitrag Verfasst am: 07.03.2015, 18:10     Titel:
  Antworten mit Zitat      
zum sortieren würde ich
Code:
benutzen
_________________

richtig Fragen
Private Nachricht senden Benutzer-Profile anzeigen
 
DKKA
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 17
Anmeldedatum: 16.02.15
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 07.03.2015, 18:44     Titel:
  Antworten mit Zitat      
Winkow hat Folgendes geschrieben:
zum sortieren würde ich
Code:
benutzen


Das sortiert aber nicht vektorweise nach der ersten Zeile und zerstört die Struktur der Matrix. Die Werte in Zeile 2 sind die passenden Y-Werte der X-Werte in Zeile 1. Ein Punkt (X,Y) wird als Spaltenvektor abgespeichert. Wenn ich jetzt sort mache, dann krieg ich eine andere Bijektion zwischen den Wertepaaren. Ich möchte die Vektoren so sortieren:
Gegeben zwei 2x1 Vektoren A und B. Wenn B_X>A_X dann wird
Code:
(B_X)(A_X)
(B_Y) (A_Y)
 

zu
Code:
(A_X)(B_X)
(A_Y) (B_Y)
 
Private Nachricht senden Benutzer-Profile anzeigen
 
Winkow
Moderator

Moderator



Beiträge: 3.842
Anmeldedatum: 04.11.11
Wohnort: Dresden
Version: R2014a 2015a
     Beitrag Verfasst am: 07.03.2015, 18:58     Titel:
  Antworten mit Zitat      
die documentation von matlab ist sehr gut. sort hat zwei rückgabe parameter.
damit sollte sich dein problem lösen lassen.
_________________

richtig Fragen
Private Nachricht senden Benutzer-Profile anzeigen
 
DKKA
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 17
Anmeldedatum: 16.02.15
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 07.03.2015, 19:15     Titel:
  Antworten mit Zitat      
Winkow hat Folgendes geschrieben:
die documentation von matlab ist sehr gut. sort hat zwei rückgabe parameter.
damit sollte sich dein problem lösen lassen.


Sorry, ich habe nichts gefunden in der Dokumentation dass mein Problem lösen würde.
Private Nachricht senden Benutzer-Profile anzeigen
 
Winkow
Moderator

Moderator



Beiträge: 3.842
Anmeldedatum: 04.11.11
Wohnort: Dresden
Version: R2014a 2015a
     Beitrag Verfasst am: 07.03.2015, 19:49     Titel:
  Antworten mit Zitat      
Code:
a=rand(2,100);
[a(1,:),I]=sort(a(1,:));
a(2,:)=a(2,I);

_________________

richtig Fragen
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.499
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 07.03.2015, 22:19     Titel:
  Antworten mit Zitat      
Hallo,

die beste Anordnung von Daten hängt davon ab, was man damit machen möchte.
In dem Fall ist es relativ egal, da sich das eine durch Transponieren leicht in das andere überführen lässt.
Ich würde mit Spalten x und y arbeiten und sortrows verwenden.

Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
Neues Thema eröffnen Neue Antwort erstellen



Einstellungen und Berechtigungen
Beiträge der letzten Zeit anzeigen:

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 | goMatlab RSS Button 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.