Verfasst am: 10.08.2019, 10:44
Titel: 'sort' funktioniert nicht
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 forbarplot - 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
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.
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 ;)
Gast
Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
Verfasst am: 10.08.2019, 11:44
Titel:
Ich bekomme übrigens keine Fehlermeldung, wenn ich sort anwende. Es wird eine Variable ausgegeben die einfach unsortiert bleibt.
Gast
Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
Verfasst am: 10.08.2019, 11:50
Titel:
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..
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 ;)
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
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.