Verfasst am: 27.07.2020, 20:39
Titel: Falsche Dimension nach Iterierung
Hey, ich suche einen Fehler in meinem Script und komme einfach nicht darauf, was da verkehrt läuft. Vielleicht habt ihr eine Idee?
Ich habe die Matrix "data" mit den Dimensionen 300x3x2.
Mein Ziel ist es, diese Matrix in zwei Matrizen zu unterteilen (one und two) und zwar anhand der Werte in der letzten Spalte. Der Code läuft zwar durch, spuckt mir aber Variablen mit den Dimensionen 100x6x2 anstatt 100x3x2 aus. Mir erschließt sich einfach nicht, wo dieser Fehler stecken könnte.
Mein Code:
Code:
for i = 1 : size(data,3)
datatac(:,:,i)= sortrows(data(:,:,i),1)
lastColumn = data(:,end,i); % Get last column
one(:,:,i) = data(lastColumn == 1, :)% Get ones
two(:,:,i) = data(lastColumn == 2, :)% Get twos
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 ;)
Annalena
Gast
Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
Verfasst am: 27.07.2020, 21:26
Titel:
Hallo Harald,
danke das funktioniert. Kannst du dir denn erklären, woher diese komischen Dimensionen kamen? Wahrscheinlich, weil ich durch die Spalten iteriert habe oder?
In deinem Lösungvorschlag werden 2 cells erzeugt. Gäbe es auch die Möglichkeit eine 3D Matrix rauszubekommen? Mit cell2mat funktioniert das leider nicht
Gäbe es auch die Möglichkeit eine 3D Matrix rauszubekommen?
Nur falls es in jeder "Schicht" (i = 1 und i = 2) in der letzten Spalte genauso viele 1en gibt. Sonst ist die Anzahl der Zeilen in jeder Schicht unterschiedlich, und das ist bei 3D Arrays nicht zulässig.
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 ;)
Annalena
Gast
Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
Verfasst am: 28.07.2020, 18:27
Titel:
Hi Harald,
mit cell2mat spuckt er mir eine Matrix mit den entsprechenden Werten in der beiden cells aus, jedoch packt er beide Matrizen nebeneinander.
Hast du eine Idee, wie man diese Matrix weiterführend in eine 3D Matrix packen kann?
Danke
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.