ich habe hier schon einige Beiträge gelesen und hoffe, ich bin mit meinem Problem / Bearbeitung hier richtig.
Wie relativ viele hier möchte ich Matlab für die Datenverarbeitung benutzen. Ich bin im wissenschaftlichen Bereich tätig, aber noch nicht so perfekt in der Anwendung von Matlab. Die help .docs haben zwar schon eine Menge geholfen, aber bei einigen Dingen brauch man einfach etwas Hilfe.
Folgendes Problem, ich habe mehrere Ordner mit mehreren Messdateien mit folgendem Aufbau:
Code:
Data file Info Minimum MeanMax Range
2.out2.1-3.11.93.24.9 4.sum91.24.92.52.91.2
Nun haben leider alle Dateien innerhalb eines Ordners alle andere Dateinamen (Diese sind aber in jedem Ordner gleich).
nun habe ich folgendes vor:
Ich möchte von jeder Datei im Ordner (idealerweise von allen Ordnern auf mal) alle Dateien so verarbeiten, dass von jeder Datei die Spalte "Minimum" nach seinem Minimum durchsucht wird (hierbei wird der Vektor mit Hilfe der "reshape" Funktion in 7er Blöcke zerlegt und aus jedem Block das Minimum ermittelt und am Ende wieder als Vektor geschrieben) und als Variable abgespeichert werden.
Wenn also meine Datei 2.out heißt, soll es am Ende eine Variable 2.out_min geben, wo nur die Minimumwerte der Spalte Minimum drinstehen.
Ich hoffe man kann es verstehen, sonst versuche ich es gerne nochmal anders zu beschreiben.
Jetzt mein Problem, wie baue ich sowas am einfachsten auf?
Die Dateien einlesen ist mit textscan ja soweit machbar, aber wie verarbeite ich diese dann, dass ich mein Ziel erreiche? Und wie speicher ich diese mit dem Namenszusatz "min"?
benutzen
variablen dynamisch zu bennen ist immer so eine sache. meist meist sorgt das für mehr aufwand als nutzen. grade wenn es darum geht diese daten später noch weiter zuverarbeiten. wenn du unbedingt den dateinamen mit im variablen namen haben willst würde ich eine struct benutzen um die sachen zu speichern.
so in der art:
wie man die dynamisch bennen findest du auch in der doc. ist recht simpel und man kommt später über fieldnames an die namen wieder ran. am einfachsten wäre es allerdings die werte in einer cell zu speichern falls der dateiname nicht so wichtig ist.
_________________
Wie im Code wird ja nun alles eingelsen nach dem Header. Jetzt habe ich allerdings das zusätzliche Problem, dass am Ende der Dateien auch noch ein Test steht.
Gibt es eine möglichkeit mit Textscan gezielt aus Bereiche zuzugreifen?
Also als Beispiel nur auf die Zeilen 7:25 der entsprechenden Spalten.
Spalten kann ich ja soweit ich glaube ich durch
kann man einstellen welche breiche man lesen will. wenn die allderings unterschiedlich groß sind von datai zu datei wirds schon schwerer. alternativ kannst du auch mal im fileexchange nachgucken ob dort jemand schon etwas geschrieben hat was dir hilft.
_________________
das reshape funktioniert super soweit. Es entstehen wie gewünscht 15er "Vektoren". Nur wenn ich jetzt hieraus aus jedem Vektor das Minimum mit min(a) berechnen möchte, klappt es leider nicht.
Code:
Subscript indices must either be real positive integers or logicals.
Die berechneten Minima möchte ich nun herne als:
GenPwr_min speichern.
das geht mit eval und so weiter. ich kann dir davon aber nur abraten. das birgt sehr viele probleme. es ist kaum zu debuggen und die leute die später mal mit dem programm arbeiten müssen werden dich verfluchen
benutze entweder cells oder so wie ich oben bereits gesagt habe structs.
_________________
Okay, danke dir, dann werde ich mich damit mal befassen.
Bis hierher schonmal danke.
Noch eine kurze Rückfrage, wie kann ich Variable aus dem Workspace löschen mittels Befehl? Und lassen sich mehrere gespeicherte Workspaces zusammenführen?
was soll das sein ? ^^
workspace lässt sich mit clear löschen. bei bestimmten variablen kann man das auch mit angeben. sei aber vorsichtig was du löscht.
versuche zb unbedingt auf clear all zu verzichten.
_________________
Also wenn ich jetzt eine Menge an Variablen in meiner Workspace habe, beispielsweise von einem Projekt, kann ich diese Variablen ja speichern, indem ich den Workspace speicher.
Wenn ich dies nun bei 2 Projekten mache (unter der Voraussetzungen, dass die Variablen sich unterscheiden) kann ich beide Workspaces zusammenführen und ALLE Variablen in einer Workspace zur verfügung haben um diese gegeneinander zu plotten beispielsweise.
Alles klar, dann danke ich bis hierhin für die Hilfe.
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.