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

Dateien in Matlab einlesen und Auswerten

 

alex_91
Forum-Anfänger

Forum-Anfänger


Beiträge: 19
Anmeldedatum: 07.11.16
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 29.05.2017, 10:08     Titel: Dateien in Matlab einlesen und Auswerten
  Antworten mit Zitat      
Hallo,

ich will ein Programm in Matlab schreiben, welches automatische in einem Ordner .txt Dateien einliest.

Wie gehe ich da vor ?

Danke
Private Nachricht senden Benutzer-Profile anzeigen


Harald
Forum-Meister

Forum-Meister


Beiträge: 24.502
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 29.05.2017, 10:09     Titel:
  Antworten mit Zitat      
Hallo,

mit dir kannst du eine Liste von Dateien erzeugen und diese in einer for-Schleife abarbeiten. Dazu gibt es auch viele Fragen (und Antworten) hier.

Für konkretere Hilfe bitte die Frage konkretisieren.

Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
alex_91
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 19
Anmeldedatum: 07.11.16
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 29.05.2017, 10:34     Titel:
  Antworten mit Zitat      
Danke für die Antwort.
danach soll mein Programm aus einem externen Ordner die .txt Dateien automatisch einlesen und automatisch erkennen wie viele Dateien es sind.
Habe bisher nur den Code geschafft, der mir das ganze manuell ermöglicht.

Code:
% Daten einlesen
[name, pfad] = uigetfile('.txt');
data = dlmread(fullfile(pfad, name));


Was muss ich hierfür ändern ?

Vielen Dank
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.502
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 29.05.2017, 11:20     Titel:
  Antworten mit Zitat      
Hallo,

dann solltest du das Verzeichnis entweder direkt angeben oder mit uigetdir auswählen lassen. Dann wie gesagt dir und eine for-Schleife über die Dateien.

Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
alex_91
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 19
Anmeldedatum: 07.11.16
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 29.05.2017, 11:57     Titel:
  Antworten mit Zitat      
Danke, hat mir sehr geholfen.

Die nächste Frage wäre, kann man ein Programm so schrieben, dass es ermöglicht einen exteren Ordner so zu "überwachen", dass jedesmal wenn in diesem Ordner eine neue .txt Datei auftaucht, diese automatisch in Matlab eingelesen wird ?

Hoffe die Frage ist verständlich Wink

Danke und Grüße
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.502
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 29.05.2017, 13:45     Titel:
  Antworten mit Zitat      
Hallo,

unmittelbar ist das meines Wissens nicht möglich.

Du kannst aber mit Timern alle n Sekunden eine Funktion ausführen. Diese könnte dann überprüfen, ob es neue Dateien gibt und diese ggf. verarbeiten.
https://www.mathworks.com/help/matlab/ref/timer-class.html
(insbesondere das Beispiel "Execute Callback Function Multiple Times")

Grüße,
Harald
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: 08.06.2017, 16:32     Titel:
  Antworten mit Zitat      
Hallo alex_91,

Man kann einen Ordner überwachen unter Windows:
Code:
w = System.IO.FileSystemWatcher(PathName);
w.Filter = '*.*';
% Notify when the file changes
w.NotifyFilter = System.IO.NotifyFilters.LastWrite;
w.NotifyFilter = System.IO.NotifyFilters.DirectoryName
w.NotifyFilter = w.NotifyFilter Or System.IO.NotifyFilters.FileName
w.NotifyFilter = w.NotifyFilter Or System.IO.NotifyFilters.Attributes
w.IncludeSubdirectories = True
% Create a listener for change
addlistener(w, 'Changed', @changedFcn);
w.EnableRaisingEvents = true;

Jetzt wird the "changeFcn" aufgerufen, wenn ein File eingefügt wird, sich ein Unterordner oder der Ordnername ändert usw.

Gruß, Jan



Die nächste Frage wäre, kann man ein Programm so schrieben, dass es ermöglicht einen exteren Ordner so zu "überwachen", dass jedesmal wenn in diesem Ordner eine neue .txt Datei auftaucht, diese automatisch in Matlab eingelesen wird ?

Hoffe die Frage ist verständlich ;)

Danke und Grüße[/quote]
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.