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

'sort' funktioniert nicht

 

Eli

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 10.08.2019, 11:44     Titel: 'sort' funktioniert nicht
  Antworten mit Zitat      
Hallo liebe Gemeinde,

ich habe folgenden Code:

Code:
Durations=vertcat(cfg.stimDur,cfg.stimDurUser); %Encoding & Active in one matrix (encoding above)

short_encoding_duration=Durations(:, Durations(1,:)< 1.000); % Select short durations
long_encoding_duration=Durations(:, Durations(1,:)> 1.000); %Select long durations
%Another possible separation according to Rammseyer (2010) < 200 ms & >200ms

EAI_short=(short_encoding_duration(2,:)./(short_encoding_duration(1,:)*2)); %EAI for short durations - active / encoding
EAI_short_stimDur=vertcat(short_encoding_duration(1,:),EAI_short); % Encoding times with corresponding EAI
EAI_long=(long_encoding_duration(2,:)./(long_encoding_duration(1,:)*2)); %EAI for long durartions
EAI_long_stimDur=vertcat(long_encoding_duration(1,:),EAI_long); %Encoding times with corresponding EAI

%Reshape data for bar plot - group encoding values in 15 succssive bins
sort_stimDur=sort(cfg.stimDur); %sorts encoding data ascending
cumulated_stimDur=sort_stimDur;
cumulated_stimDur=reshape(cumulated_stimDur,36,[]);%36 rows * 10 columns = 360 Trials
mean_cumulated_stimDur=mean(cumulated_stimDur,1); %mean of every column

sorted_short=sortcols(EAI_short_stimDur,1);
 


sortcols funktioniert jedoch nicht. Alternativ sollte es auch sort tuen, aber auch das bringt eine Fehlermeldung. Mein Ziel ist es, die mAtrix anhand der ersten Zeile aufsteigend zu sortieren.

Danke und VG, Eli


Harald
Forum-Meister

Forum-Meister


Beiträge: 24.448
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 10.08.2019, 12:42     Titel:
  Antworten mit Zitat      
Hallo,

insbesondere da der Code nicht ausführbar ist

Zitat:
sortcols funktioniert jedoch nicht.

Was bedeutet das? Gibt es eine Fehlermeldung oder ein unerwartetes Verhalten? Inwiefern?
Soweit ich sehen kann, ist sortcols eine Funktion für spezielle Objekte aus der Bioinformatics Toolbox (und auch nur dafür).

Zitat:
Alternativ sollte es auch sort tuen, aber auch das bringt eine Fehlermeldung.

Und wie lautet die Fehlermeldung?

Zitat:
Mein Ziel ist es, die mAtrix anhand der ersten Zeile aufsteigend zu sortieren.

Dann würde ich sortrows auf die transponierte Matrix vorschlagen und anschließend nochmal transponieren.

Grüße,
Harald
_________________

1.) Ask MATLAB Documentation
2.) Search gomatlab.de, google.de or MATLAB Answers
3.) Ask Technical Support of MathWorks
4.) Go mad, your problem is unsolvable ;)
Private Nachricht senden Benutzer-Profile anzeigen
 
Gast



Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 10.08.2019, 12:44     Titel:
  Antworten mit Zitat      
Ich bekomme übrigens keine Fehlermeldung, wenn ich sort anwende. Es wird eine Variable ausgegeben die einfach unsortiert bleibt.
 
Gast



Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 10.08.2019, 12:50     Titel:
  Antworten mit Zitat      
Hallo Harald,

tausend Dank, der Trick mit dem Transponieren hat geklappt.

Ich wundere mich bloß immer noch, warum sort nicht bei einer 2x100 Matrix, jedoch bei einer 100x2 Matrix klappt..

Danke nochmal!
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.448
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 10.08.2019, 12:58     Titel:
  Antworten mit Zitat      
Hallo,

Zitat:
Ich wundere mich bloß immer noch, warum sort nicht bei einer 2x100 Matrix, jedoch bei einer 100x2 Matrix klappt..

sort ist eine sehr grundlegende Funktion. Ich würde vermuten, dass der Befehl sehr wohl "klappt" und du lediglich eine falsche Erwartung vom Verhalten des Befehls hast. Da sollte eigentlich die Dokumentation weiterhelfen.

sort sortiert standardmäßig jede Spalte einer Matrix. Bei einer 2x100 Matrix werden dann höchstens die Elemente der 1. und 2. Zeile vertauscht.

Grüße,
Harald
_________________

1.) Ask MATLAB Documentation
2.) Search gomatlab.de, google.de or MATLAB Answers
3.) Ask Technical Support of MathWorks
4.) Go mad, your problem is unsolvable ;)
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 - 2024 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.