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

dlmread aus dynamischem Verzeichnis

 

stoon
Forum-Newbie

Forum-Newbie


Beiträge: 2
Anmeldedatum: 17.10.14
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 17.10.2014, 22:59     Titel: dlmread aus dynamischem Verzeichnis
  Antworten mit Zitat      
Guten Abend!

Ich habe in einem Verzeichnis 'input' eine Menge an *.txt Dateien, die ich mit Matlab auswerten möchten.
Da ein Durchgang relativ lange dauert will ich eine Schleife programmieren, die das ganze dann automatisch macht.

Dazu hole ich mit dem Befehl files.name alle Dateien aus dem Verzeichnis und will dann eine Verzeichnisstruktur zusammensetzen um jedes einzelne File aus dem Ordner abzuarbeiten.

Leider scheitere ich an der Verknüpfung des Strings zu einem sinnvollen Verzeichnisnamen (also Pfad/Dateiname.txt)...

Code:

string2 = 'input1/';          % Verzeichnise angeben

files = dir(string2);         % Alle Dateien im Verzeichnis lesen
names = {files.name};         % Namen der Dateien im Verzeichnis abspeichern

names(2)=[];                  % zwei leere Einträge löschen
names(1)=[];

anzahlfiles=length(names);     % Anzahl der Dateien feststellen



for filenummer=1:(anzahlfiles)


string3 = strcat(string2, names(filenummer)) %Verzeichnispfad zusammensetzen


M=dlmread(string3);    % Einlesen der Punkte aus Datei *.txt

....

end
 


Könnt ihr mir einen Tipp geben wie ich hier Pfad (also Ordner input1) mit den einzelnen Files kombinieren kann?

Vielen Dank!
Schönes Wochenende!
Private Nachricht senden Benutzer-Profile anzeigen


Gio2
Forum-Anfänger

Forum-Anfänger


Beiträge: 31
Anmeldedatum: 13.03.14
Wohnort: Frankfurt
Version: ---
     Beitrag Verfasst am: 18.10.2014, 06:53     Titel:
  Antworten mit Zitat      
Du liest es ja als Struktur ein oder? also wenn es auf Variable A alle Files sind, dann sieht es wie folgt aus:
Code:

path='file';
A=[path '\*.txt'];
C=dir(A);
for i=1:length(C)
B=C(i,1).name;
D=fopen(B);
E=textscan(D);
end
 
gemacht.

Also B sollte für dich wichtig sein und dann einfach weiterprogrammieren. Den Pfad würde ich mir immer mit uigetfile suchen, aber das wäre nur Bonus.
Passt's?
Private Nachricht senden Benutzer-Profile anzeigen
 
stoon
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 2
Anmeldedatum: 17.10.14
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 22.10.2014, 15:24     Titel:
  Antworten mit Zitat      
Das Problem waren die {} in names{filenummer}.

Hier der Code, falls das nochmals jemand suchen sollte

Code:

verzeichnis = 'inputfiles/';          % Verzeichnise angeben

files = dir(verzeichnis);         % Alle Dateien im Verzeichnis lesen
names = {files.name};         % Namen der Dateien im Verzeichnis

names = names(3:end);           % zwei leere Einträge löschen

anzahlfiles=length(names);     % Anzahl der Dateien feststellen



for filenummer=1:anzahlfiles


filename = strcat(verzeichnis, names{filenummer}); %Verzeichnispfad zusammensetzen

filename                % Ausgabe von Verzeichnispfad inkl. Dateinamen

M=dlmread(filename);    % Einlesen der Punkte aus Datei *.txt
M(:,2) = [];            % zweite Spalte mit Nullen löschen
M(:,3) = [];           % vierte Spalte mit Nullen löschen
M                      % Ausgabe der Matrix

end
 
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.