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

Zeilen mit bestimmten Werten in einer Spalte in Var schreibe

 

schneidrian
Forum-Anfänger

Forum-Anfänger


Beiträge: 48
Anmeldedatum: 20.09.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 12.01.2012, 15:17     Titel: Zeilen mit bestimmten Werten in einer Spalte in Var schreibe
  Antworten mit Zitat      
Hallo Forum,

ich bin auf der Suche nach einer Möglichkeit ein Array zu zerlegen.

Ich habe eine Matrix mit sehr vielen Reihen und 15 Spalten. Dieses File beinhaltet eine Reihe an Messdaten. Alle Zeilen mit dem gleichen Wert in der ersten Spalte gehören zusammen (In diesem Fall 500 Zeilen, ist aber unbestimmt).
Das was ich sicher weiß ist die Anzahl der "Datensätze", also die Zahl in der ersten Spalte.
Nun will ich dieses File auftrennen, also so viele Variablen (Matrizen) haben wie "Datensätze" und alle mit der entsprechenden Nr. versehen (z.B. Satz1 bis Satz 100). Satz1 hätte in diesem Fall dann 500 Zeilen.

Code:

1   496   -234,055434000000   356,404999000000   -34,1969990000000   89,5739970000000   46,2280010000000   0   0   0   0   0   0   18736,9000000000   0
1   497   -231,535396000000   357,304993000000   -34,1950000000000   89,5739970000000   46,2280010000000   0   0   0   0   0   0   18781   0
1   498   -228,952788000000   357,902008000000   -34,1950000000000   89,5739970000000   46,2280010000000   0   0   0   0   0   0   18815   0
1   499   -224,803788000000   358,796997000000   -34,1969990000000   89,5739970000000   46,2280010000000   0   0   0   0   0   0   18859   0
1   500   -222,080249000000   359,391998000000   -34,1969990000000   89,5739970000000   46,2280010000000   0   0   0   0   0   0   18893,9000000000   0
2   1   -216,442056000000   0,192000000000000   -33,8620000000000   89,5739970000000   46,2280010000000   0   0   0   0   0   0   37884,5000000000   0
2   2   -214,552303000000   0,825000000000000   -33,8650020000000   89,5739970000000   46,2280010000000   0   0   0   0   0   0   37918   0
2   3   -210,984478000000   1,72700000000000   -33,8620000000000   89,5739970000000   46,2280010000000   0   0   0   0   0   0   37961,5000000000   0

 


Ich habe es schon mit Schleifen versucht, jedoch hat das ewig gedauert und war dann immer falsch Sad
Ginge das mit einer Schleife und find?

Ich hoffe das jemand einen Tip für mich hat!

Vielen Dank im Voraus!
Private Nachricht senden Benutzer-Profile anzeigen


Gast1

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 12.01.2012, 15:31     Titel:
  Antworten mit Zitat      
Hi,

ich würde das so machen

Code:


idx=unique(A(:,1));
Satz=cell(numel(idx),1);
for i=1:numel(idx)
    Satz{i}=A((A(:,1)==idx(i)),:);
end

 
 
schneidrian
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 48
Anmeldedatum: 20.09.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 12.01.2012, 15:42     Titel:
  Antworten mit Zitat      
Hallo Unbekannter,

diese Lösung ist sehr schön, ganz vielen Dank, funktioniert prächtig.
Ich glaube auch dass diese Lösung vielen anderen helfen wird.

Viele Grüße
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.