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 zufällig anordnen

 

rabona2016
Forum-Newbie

Forum-Newbie


Beiträge: 3
Anmeldedatum: 13.12.16
Wohnort: hannover
Version: ---
     Beitrag Verfasst am: 13.12.2016, 11:25     Titel: Matrix zufällig anordnen
  Antworten mit Zitat      
Code:
M=   [cos(0*pi)+i*sin(0*pi)          1 10-i*10 100.0 i*100 0   2+2*i 42+i*42;
    cos(0.25*pi)+i*sin(0.25*pi) 2 9-i*9 100.1   i*100.1 0 2-2*i 42+i*42;
    cos(0.5*pi)+i*sin(0.5*pi)   3 8-i*8 100.2   i*100.2 0 2+2*i 42+i*42;
    cos(0.75*pi)+i*sin(0.75*pi) 4 7-i*7 100.3   i*100.3 0 2-2*i 42+i*42;
    cos(pi)+i*sin(pi)           5 6-i*6 100.4   i*100.4 0 2+2*i 42+i*42;
    cos(1.25*pi)+i*sin(1.25*pi) 6 5-i*5 100.5   i*100.5 0 2-2*i 42+i*42;
    cos(1.5*pi)+i*sin(1.5*pi)   7 4-i*4 100.6   i*100.6 0 2+2*i 42+i*42;
    cos(1.75*pi)+i*sin(1.75*pi) 8 3-i*3 100.7   i*100.7 0 2-2*i 42+i*42]


Ein freundliches Hallo an alle Mitglieder!

Ich habe mich neu im Forum angemeldet, um eine spaltenweise geordnete Matrix M weiter bearbeiten zu können. Momentan möchte ich die Matrixeinträge der einzelnen Zeilen zufällig neu anordnen,
sodass die 8 Einträge der ersten Zeilen weiter in der ersten Zeile stehen, jedoch in geänderter Reihenfolge. Gibt es dazu passend einen in MATLAB eingepflegten Befehl?


(Anschließend ist das Ziel diese neu ungeordnete Matrix wieder in den Anfangszustand zurückzuversetzen. Ursache dieser Zielsetzung sind noch zu bearbeitende ungeordnete Messergebnisse,
welche zeilenweise zusammenhängende Eigenwerte besitzen und am Ende der Bearbeitung in den einzelnen Spalten geordnet untereinander stehen sollen, wie in der Matrix M.)

Freundlichste Grüße
Vincent

[EDITED, Jan, Bitte Code-Umgebung verwenden - Danke!]
Private Nachricht senden Benutzer-Profile anzeigen


Jan S
Moderator

Moderator


Beiträge: 11.057
Anmeldedatum: 08.07.10
Wohnort: Heidelberg
Version: 2009a, 2016b
     Beitrag Verfasst am: 13.12.2016, 11:57     Titel: Re: Matrix zufällig anordnen
  Antworten mit Zitat      
Hallo rabona2016,

Code:
M(:, 1) = M(randperm(1, 8), 1)


Gruß, Jan
Private Nachricht senden Benutzer-Profile anzeigen
 
rabona2016
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 3
Anmeldedatum: 13.12.16
Wohnort: hannover
Version: ---
     Beitrag Verfasst am: 13.12.2016, 12:18     Titel:
  Antworten mit Zitat      
Beim Einfügen des Codes bekam ich eine Fehlermeldung
Error using randperm
K must be less than or equal to N.


Habe noch einen alten Programmschnipsel gefunden, der das Problem löst:


Code:
for m=1:n
   b=M(m,:)                                                               %Extrahierung der Zeilen von A
   M(m,:)=b(randperm(length(b)))                                          %neu Ordnung auf Zufallsbasis der Zeilen
end


Vielen Dank,
Vincent
Private Nachricht senden Benutzer-Profile anzeigen
 
Jan S
Moderator

Moderator


Beiträge: 11.057
Anmeldedatum: 08.07.10
Wohnort: Heidelberg
Version: 2009a, 2016b
     Beitrag Verfasst am: 13.12.2016, 16:43     Titel:
  Antworten mit Zitat      
Hallo rabona2016,

Huch? Wie kam ich denn auf "randperm(1, 8)"?!
Dein Ansatz ist richtig. Etwas kompakter:
Code:
[nCol, nRow] = size(M);
for iCol = 1:nCol
  M(iCol, :) = M(iCol, randperm(nRow));
end

Gruß, Jan
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.