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 in Cell Array umwandeln

 

J-Gast

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 27.03.2012, 12:26     Titel: Matrix in Cell Array umwandeln
  Antworten mit Zitat      
Hey,

ich hab eine Matrix mit 5 Spalten und ich möchte diese in ein Cell - Array umwandeln. Dafür gibts den Befehl mat2cell
Wenn ich nur:
Code:

eingebe, dann erstellt mir Matlab auch nur ein cell-Array.

In meiner ersten Spalte sind nun verschiedene Zahlenkombinationen (die häufiger vorkommen). Ich möchte, dass alle Daten mit gleichen Zahlenkombination aus Spalte 1 in ein Cell - Array geschrieben werden usw.

Gibt es dafür einen Befehl?

Danke im Voraus!


Winkow
Moderator

Moderator



Beiträge: 3.842
Anmeldedatum: 04.11.11
Wohnort: Dresden
Version: R2014a 2015a
     Beitrag Verfasst am: 27.03.2012, 14:00     Titel:
  Antworten mit Zitat      
ka was du meinst.
beschreib dein problem mal genauer. vieleicht mit einem beispiel was du machen willst.
Private Nachricht senden Benutzer-Profile anzeigen
 
J-Gast

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 27.03.2012, 14:10     Titel:
  Antworten mit Zitat      
Ich hab beispielsweise folgende Matrix:

Code:
72702   NaN   50   129   1942
72702   NaN   50   98   1943
72702   NaN   50   110   1944
100505   NaN   50   99   1936
100505   NaN   50   101   1937
100505   NaN   50   88   1938
100505   NaN   50   106   1939
100505   NaN   50   135   1941
 

und ich möchte dasss die ersten 3 zeilen in ein cell array geschrieben werden und die zeilen mit hier bspw 100505 in ein anderes.
Sprich mit dem befehl mat2cell, kann ich ja angeben, bei welcher zeile meine matrix getrennt werden soll und in ein cell arry geschrieben werden soll ... ich kenn nur nicht genau meine Zeile ...

jetzt verständlicher?
 
Winkow
Moderator

Moderator



Beiträge: 3.842
Anmeldedatum: 04.11.11
Wohnort: Dresden
Version: R2014a 2015a
     Beitrag Verfasst am: 27.03.2012, 14:48     Titel:
  Antworten mit Zitat      
Code:
M=[72702   NaN   50   129   1942;
72702   NaN   50   98   1943;
72702   NaN   50   110   1944;
100505   NaN   50   99   1936;
100505   NaN   50   101   1937;
100505   NaN   50   88   1938;
100505   NaN   50   106   1939;
100505   NaN   50   135   1941];
B=unique(M(:,1));
C=cell(1,length(B));
for k=1:length(B)
    C{k}=M(M(:,1)==B(k),:);
end
   
 

wenn du das mit mat2cell machen willst dann geht das so glaub ich
Code:
C=mat2cell(M,diff([0;find([diff(M(:,1));1])]),5);
Private Nachricht senden Benutzer-Profile anzeigen
 
J-Gast

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 28.03.2012, 08:46     Titel:
  Antworten mit Zitat      
super, danke

das erste klappt Wink
 
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.