|
|
Gleiche Auswertung vieler Dateien |
|
Sunnny |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 10.09.2013, 15:53
Titel: Gleiche Auswertung vieler Dateien
|
 |
|
 |
|
Hallo liebes goMatlab-Forum,
ich bin in der Messtechnik tätig und habe folgendes Problem.
Ich habe aus einem Langzeit-Messversuch viele Messdateien die alle gleich aufgebaut sind.
Man kann sich das ganze so vorstellen, dass jeden Tag eine neue Messdatei erstellt worden ist.
Jeder Tag ist wie folgt aufgebaut:
Datum | Messzeit | Temperatur-Mittelwert | Temperatur-Max |
Jede Datei hat jeweils 24 Messungen (jede Stunde)
Nun habe ich das Problem, dass ich ca. 250 Dateien habe, von denen ich als Beispiel auch das Tagesmaximum ermitteln muss.
Ich will aber eigentlich nicht alle 250 Dateien einlesen und die entsprechenden Spalten manuel per Hand importieren um sie am Ende in Matlab auswerten zu können.
Jetzt meine Frage, hat man in Matlab die Möglichkeit sowas anders zu erreichen? Idealerweise müsste ich am Ende alls Daten in einer workspace haben um die Werte in jeder Zusammenstellung plotten zu können.
Ich hoffe Ihr könnt mir weiterhelfen.
Sunny
|
|
|
|
|
Winkow |

Moderator
|
 |
Beiträge: 3.842
|
 |
|
 |
Anmeldedatum: 04.11.11
|
 |
|
 |
Wohnort: Dresden
|
 |
|
 |
Version: R2014a 2015a
|
 |
|
|
 |
|
Verfasst am: 10.09.2013, 15:56
Titel:
|
 |
wie man daten automatisch einliest wurde in diesem forum schon sehr oft besprochen. einfach mal die sufu benutzen. wenn dann probleme auftreten kannst gerne nochmal nachfragen.
_________________
richtig Fragen
|
|
|
Jan S |

Moderator
|
 |
Beiträge: 11.057
|
 |
|
 |
Anmeldedatum: 08.07.10
|
 |
|
 |
Wohnort: Heidelberg
|
 |
|
 |
Version: 2009a, 2016b
|
 |
|
|
 |
|
Verfasst am: 10.09.2013, 16:24
Titel: Re: Gleiche Auswertung vieler Dateien
|
 |
|
 |
|
Hallo Sunnny,
Winkow's Tipp ist sehr effizient.
Deine Nachricht enthält viele Details, die mit dem eigentlichen Problem nichts zu tun haben. Eigentlich suchst Du nur nach einer Methode eine Liste von 250 Files einzulesen, oder? Nun fehlt aber dann genau die Information, die zur Lösung wichtig wäre, nämlich wie man die Liste der Datei-Namen erhalten könnte. Stehen die alle in einem Ordner, oder haben alle den gleichen Namen
und sind auf 250 Ordner verteilt? Oder enthalten die Datei-Namen vielleicht wichtige Informationen wie den Messtag?
Im Groben funktioniert es so:
Und statt "ImportFile" benötigst Du eine Methode um ein File zu importieren.
Wenn Du auch noch am Import der Files arbeitest, erkläre das nochmal speziel.
Zitat: |
Jeder Tag ist wie folgt aufgebaut:
Datum | Messzeit | Temperatur-Mittelwert | Temperatur-Max |
Jede Datei hat jeweils 24 Messungen (jede Stunde) |
Das ist noch nicht eindeutig. Das Posten eines konkreten Beispiels wäre hilfreicher.
Gruß, Jan
|
|
|
Sunnny |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 10.09.2013, 19:19
Titel:
|
 |
Hallo Jan,
leider liegen nicht alle Dateien in einem Ordner.
also mein Beispiel würde so aussehen:
Der Dateiname ist leider nicht durchnummeriert, muss also in Form einer Liste eingelesen werden, oder aber einzeln per load. Eine Liste mit Pfad und Dateiname besteht bereits.
Meine Idee war nun folgende:
Die erste Datei mit "load" einlesen, die entsprechende Spalte rechnerisch Bearbeiten (Tagesmaximum ermitteln) und diesem Wert dann als Variable im Workspace speichern. Danach dann die nächste Datei und gleiches Verfahren.
So versuche ich das ganze grade aufzubauen.
|
|
|
Winkow |

Moderator
|
 |
Beiträge: 3.842
|
 |
|
 |
Anmeldedatum: 04.11.11
|
 |
|
 |
Wohnort: Dresden
|
 |
|
 |
Version: R2014a 2015a
|
 |
|
|
 |
|
Verfasst am: 10.09.2013, 19:24
Titel:
|
 |
load ist eine der wenigen methoden die da nicht geht da es sich ja nicht um mat dateien handelt.
wenn die liste mit datei und pfadnamen bereits besteht sollte es nicht sondernlich schwer sein alles mittels forschleife einzulesen.
such mal nach textscan oder textread im forum
_________________
richtig Fragen
|
|
|
Sunnny |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 11.09.2013, 17:18
Titel:
|
 |
Ich habe es bisher jetzt mal so gemacht, dass mit folgendem Code alle Dateien aus einem gewünschten Ordner in eine Variable (Mfiles) geschrieben werden:
Nun, beim Einlesen der Dateien und verarbeiten, habe ich etwas Problem.
In einer "normalen" Schleife würde es ja so wie hier laufen:
nun weiß ich aber leider nicht, wie ich mit Hilfe der Schleife die Dateien aus der Variablen lesen kann um diese nacheinander zu öffnen und zu bearbeiten.
Es sollen dann in JEDER Datei die selben 3 Spalten bearbeitet werden und anschließend mit dem Dateinamen und den zusätzen "min, mean und max" für die jeweiligen 3 Spalten als Variable in einer gemeinsamen Workspace gespeichert werden.
Ist sowas von der Theorie generell machbar, oder sollte ich eher einen anderen Weg versuchen?
Hat jemand sowas schonmal gemacht und kann mir hierbei helfen?
|
|
|
Winkow |

Moderator
|
 |
Beiträge: 3.842
|
 |
|
 |
Anmeldedatum: 04.11.11
|
 |
|
 |
Wohnort: Dresden
|
 |
|
 |
Version: R2014a 2015a
|
 |
|
|
 |
|
Verfasst am: 11.09.2013, 17:35
Titel:
|
 |
hast du gelesen was ich geschrieben hab ?
_________________
richtig Fragen
|
|
|
Sunnny |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 11.09.2013, 18:06
Titel:
|
 |
Ja, habe ich. Hat mich aber ehrlich gesagt bisher noch nicht weitergebracht.
|
|
|
Winkow |

Moderator
|
 |
Beiträge: 3.842
|
 |
|
 |
Anmeldedatum: 04.11.11
|
 |
|
 |
Wohnort: Dresden
|
 |
|
 |
Version: R2014a 2015a
|
 |
|
|
 |
|
Verfasst am: 11.09.2013, 18:11
Titel:
|
 |
ich hab geschrieben das load nicht gehen wird und du textscan oder textread nehmen sollst und dann hast du ein beispiel gepostet in dem du load benutzen willst. das ist mir nicht ganz klar. warum versuscht du nicht erst einmal textread zu verwenden und dann code zu posten und fehlermeldungen etc. beispiel daten währen auch angebracht.
_________________
richtig Fragen
|
|
|
Sunnny |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 11.09.2013, 18:24
Titel:
|
 |
Okay,
mir geht es jedoch nicht darum ob man load nutzt oder textscan oder was auch immer, sondern wie man die Schleife aufbaut, wenn man eine Liste der Dateinamen hat.
|
|
|
Winkow |

Moderator
|
 |
Beiträge: 3.842
|
 |
|
 |
Anmeldedatum: 04.11.11
|
 |
|
 |
Wohnort: Dresden
|
 |
|
 |
Version: R2014a 2015a
|
 |
|
|
 |
|
Verfasst am: 11.09.2013, 18:34
Titel:
|
 |
wenn du eine datei hast also ein cellarray mit den dateinamen und pfad zb in A
_________________
richtig Fragen
|
|
|
Sunnny |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 11.09.2013, 18:54
Titel:
|
 |
Hierbei bekomme ich immer die Fehlermeldung:
Error using textscan
Invalid file identifier. Use fopen to generate a valid file identifier.
In dieser Zeile:
|
|
|
Winkow |

Moderator
|
 |
Beiträge: 3.842
|
 |
|
 |
Anmeldedatum: 04.11.11
|
 |
|
 |
Wohnort: Dresden
|
 |
|
 |
Version: R2014a 2015a
|
 |
|
|
 |
|
Verfasst am: 11.09.2013, 18:58
Titel:
|
 |
dann geht man mal mit dem debugger rein und guckt sich an was denn in A zu dem schleifenaufruf drinsteht. ohne lauffähiges minimalbeispiel mit beispieldaten ist das nur gerate
_________________
richtig Fragen
|
|
|
Jan S |

Moderator
|
 |
Beiträge: 11.057
|
 |
|
 |
Anmeldedatum: 08.07.10
|
 |
|
 |
Wohnort: Heidelberg
|
 |
|
 |
Version: 2009a, 2016b
|
 |
|
|
 |
|
Verfasst am: 12.09.2013, 11:48
Titel:
|
 |
Hallo Sunnny,
Die Fehlermeldung "Invalid file identifier. Use fopen to generate a valid file identifier." bedeutet, dass "fid" kein valider File-Identifikator ist. Entweder existiert das File nicht, oder Du hast "fid" definiert ohne fopen() aufzurufen.
Grundsätzlich gehört hinter ein FOPEN immer ein Test auf erfolgreiches Öffnen:
Ich habe schon viel zu viele Fragen in Foren für verschiedene Programmiersprachen gesehen, in denen die Usetr sich gewundert haben, dass man nach einem nicht-erfolgreichen FOPEN in das nicht spezifizierte File nicht schreiben kann.
Gruß, Jan
|
|
|
|
|
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.
|
|