|
|
|
Dynamischer Variablenname |
|
| cleo |

Forum-Newbie
|
 |
Beiträge: 5
|
 |
|
 |
Anmeldedatum: 22.05.12
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 22.05.2012, 13:52
Titel: Dynamischer Variablenname
|
 |
| |
 |
|
Hallo
ich muss eine größere Anzahl von Datensätzen einlesen und jeden in einer neuen Matrix speichern. Dafür wollte ich eine Schleife benutzen, die bisher folgendermaßen aussieht:
Also, über DatMin und DatMax werden die Unter- und Obergrenze eines Zählers angegeben, der dann in DatN geschrieben wird. Danach wird in der Schleife für jedes Element von DatN ein String nach dem Schema 'age1.txt', 'age2.txt' usw. erzeugt. Das sind die Dateinamen, und die dann nacheinander mit Dat=dlmread (DatName) einzulesen (innerhalb der Schleife) ist kein Problem.
Das Problem ergibt sich dabei, das jede Datei auch in eine Matrix mit fortlaufend erzeugtem Namen geschrieben werden soll: Die Daten aus age1.txt sollen in Dat1 geschrieben werden, die Daten aus age2.txt in Dat2 usw. Ich dachte zuerst an eine Methode wie
aber dann würde die Variable VarNames heißen und bei jedem Durchlauf überschrieben werde, so dass VarNames am Ende nur die Daten aus age10.txt enthalten würde. Ein Paar Versuche mit eval und genvarnames haben auch nicht funktionert. genvarnames erzeugt ja nur einen String, den ich sowieso schon habe, und genvarnames(VarNames)=dlmread (DatName) funktioniert auch nicht.
Im Prinzip brauche ich eine Methode, mit der ich Matlab klarmachen kann, dass VarNames nicht die Variable ist, in die gespeichert werden soll. Sondern dass VarNames als Eintrag den Namen der Variable enthält (z.B. Dat1) die zuerst erzeugt und in die dann die Daten geschrieben werden sollen.
Hat jemand eine Idee, wie man das hinbekommen kann?
Danke, cleo
|
|
|
|
|
|
| MaFam |

Forum-Meister
|
 |
Beiträge: 799
|
 |
|
 |
Anmeldedatum: 02.05.12
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: R2009b
|
 |
|
|
 |
|
Verfasst am: 22.05.2012, 15:10
Titel:
|
 |
Hallo,
pack' die Daten doch einfach in eine 3-dimensionale Matrix. Die Identifizierung einzelner Datensätze erfolgt dann über den 3. Index.
Grüße, Marc
|
|
|
|
| Sirius3 |

Forum-Guru
|
 |
Beiträge: 441
|
 |
|
 |
Anmeldedatum: 11.11.11
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 22.05.2012, 22:57
Titel:
|
 |
Hallo cleo,
... oder falls es sich um unterschiedlich große Matrizen handelt,
schreib sie in ein Cell-Array. Genau für diesen Fall sind die gemacht.
Die Weiterverarbeitung ist dann viel einfacher und eleganter, als sich
ständig mit variablen Variablennamen rumplagen zu müssen.
Und für den Zugriff auf die Matrizen ist ein Dat{3} auch nicht
schlechter lesbar als ein Dat3.
Grüße
Sirius
|
|
|
|
| cleo |
Themenstarter

Forum-Newbie
|
 |
Beiträge: 5
|
 |
|
 |
Anmeldedatum: 22.05.12
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 28.05.2012, 05:53
Titel:
|
 |
Vielen Dank für die Empfehlungen! Das hat weitergeholfen.
|
|
|
|
|
|
|
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
|
|
Impressum
| Nutzungsbedingungen
| Datenschutz
| FAQ
| 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.
|
|