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

Datensätze richtig sortieren

 

p.nietnagel
Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 53
Anmeldedatum: 19.02.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 23.09.2010, 11:34     Titel: Datensätze richtig sortieren
  Antworten mit Zitat      
Hallo,

ich sitze jetzt seit geraumer Zeit an einer eigentlich gar nicht so schweren Aufgabe, aber ich finde die Lösung nicht.

Ich hab eine Liste mit Datensätzen, die bearbeitet werden sollen und die Ergebnisse der Berechnung möchte ich einer Matrix (oder einem Cell Array?) speichern.
Ich hab 39 Subjects, von jedem Subject 5 Conditions wiederum in jeweils 2 States. Die sollen zum Schluss in einem Array angeordnet sein Result(39 Subj, 5 Conds, 2 States).
Ich hab Vektoren definiert, die die Nummer aus der ListDatasets enthalten, die mit der entsprechenden Subj, - Conds-, und States Nummer korrespondiert.
Da ein paar Datensätze dabei sind, die ich zwar noch brauche, aber die in das Result Array nicht mit rein sollen, geht das nicht über ein einfaches Indexen.

Code:


load ListDatasets

Result = cell(39,5,2);

%%% hier die Indices aus der ListDataset richtig zugeordnet
SubjState1 = [1 (10:5:195)]';
Cond1state1 = [1 (10:5:195)]';
Cond2state1 = [2 (11:5:196)]';
Cond3state1 = [4 (12:5:197)];
Cond4state1 = [6 (13:5:198)]';
Cond5state1 = [8 (14:5:199)]';

SubjState2 = [200 (209:5:394)]';
Cond1State2 = [200 (209:5:394)]';
Cond2State2 = [201 (210:5:395)]';
Cond3State2 = [203 (211:5:396)];
Cond4State2 = [205 (212:5:397)]';
Cond5State2 = [207 (213:5:398)]';

counter = 0;
for i = 1:length(ListDatasets)
    counter = counter + 1;
    %%%% rechne etwas
    x = rand(257,1);
    %%%% und hier soll gespeichert werden
    Result{Subj,Conds,State} = x;
end
 


Hat jemand eine Idee, wie ich das am geschicktesten löse? Ich dachte, ich nutze die Vektoren, mit dem Index der ListDataset irgendwie als Zwischenschritt, um das Zuordnen richtig zu machen.

Danke im Voraus für die Hilfe!


Viele Grüße,
p.nietnagel

ListDatasets.m
 Beschreibung:

Download
 Dateiname:  ListDatasets.m
 Dateigröße:  7.79 KB
 Heruntergeladen:  375 mal
Private Nachricht senden Benutzer-Profile anzeigen


derOli
Forum-Meister

Forum-Meister


Beiträge: 579
Anmeldedatum: 19.03.08
Wohnort: Leipzig
Version: 2010a
     Beitrag Verfasst am: 23.09.2010, 17:55     Titel:
  Antworten mit Zitat      
Hallo

Ich verstehe das noch nicht ganz. Die Liste kann ja so nicht geladen werden. Wie werden die Werte aus der Liste geparst? Die Einträge in der Liste sind ja so: Subj38Cond3State2

Welche vordefinierten Stellen sollen übernommen werden bzw. geordnet werden?

Viele Grüße

der Oli
Private Nachricht senden Benutzer-Profile anzeigen
 
Jan S
Moderator

Moderator


Beiträge: 11.057
Anmeldedatum: 08.07.10
Wohnort: Heidelberg
Version: 2009a, 2016b
     Beitrag Verfasst am: 23.09.2010, 20:36     Titel: Re: Datensätze richtig sortieren
  Antworten mit Zitat      
Hallo p.nietnagel,

ich verstehe es auch nicht richtig.
Jedenfalls sieht "Cond1state1" so aus, als würdest Du Index-Informationen in die Variablennamen stecken. Auf solche Konstruktionen kann man später nur sehr schwer zugreifen.
Stattdessen könnte man ein 3D-Array verwenden, also z.B.
CondState(1, 1, :) statt Cond1state1 schreiben.

Gruß, Jan
Private Nachricht senden Benutzer-Profile anzeigen
 
p.nietnagel
Themenstarter

Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 53
Anmeldedatum: 19.02.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 23.09.2010, 20:47     Titel:
  Antworten mit Zitat      
Hallo Jan und Oli,


also, ich lade mir die Datensätze, die in der Liste stehen (also mein angehängtes .m file) in einer for Schleife nacheinander rein. D.h. die Datensätze sind dann quasi durchnummeriert.
Die Vektoren, die ich definiert hab, sollten mir dazu dienen, dann diese Datensätze, deren Nummer ich ja kenne, zum Schluss in der Struktur richtig zuzuweisen.
Beantwortet das Eure Frage?

Aber irgendwie scheint das sinnlos kompliziert zu sein.
Ich bin gerade dabei, die Liste der Datensätze zu ändern und versuche es dann mit Schleifen oder kleinen Berechnungen, um die Ergebnisse richtig zuzuordnen.

Vielen Dank für die Mühe!


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