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

MATLAB-Code zum Auslesen vieler Textdateien

 

Meranm22
Forum-Newbie

Forum-Newbie


Beiträge: 2
Anmeldedatum: 13.09.17
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 14.09.2017, 09:15     Titel: MATLAB-Code zum Auslesen vieler Textdateien
  Antworten mit Zitat      
Hallo liebe Community,

ich bin absoluter Neuling in Matlab und möchte die in einem Ordner vorhandenen 300 Textdateien in Matlab einlesen und die Daten gemeinsam in einem xy-Diagramm plotten lassen. Die Textdateien bestehen aus jeweils 2 Spalten (1. Spalte -> x-Werte, 2. Spalte -> y-Werte) mit unterschiedlich vielen Zeilen.
Die Dateinamen unterscheiden sich nur hinsichtlich der letzter Ziffer, also die sich nur in den Ziffern am Ende unterscheiden, also "20170704 Aluminium_00001 LC.txt“, "20170704 Aluminium_00002 LC.txt“, … , "20170704 Aluminium_00299 LC.txt".

Für das erfolgreiche Auslesen und Plotten der ersten Datei habe ich folgenden Code erstellt:

clear all;
close all;
clc

A=dlmread('20170704 Aluminium_00000 LC.txt‘);
x=A(:,1); # Werte der 1. Spalte aus der Textdatei für x-Achse
y=A(:,2); # Werte der 2. Spalte aus der Textdatei für y-Achse
plot(x,y)

Damit nun alle Textdateien ausgelesen und in einem Diagramm geplottet werden, muss man sicherlich mit einer for-Schleife arbeiten. Könnt ihr mir da behilflich sein?

Vielen Dank im Voraus.
Private Nachricht senden Benutzer-Profile anzeigen


denny
Supporter

Supporter



Beiträge: 3.853
Anmeldedatum: 14.02.08
Wohnort: Ulm
Version: R2012b
     Beitrag Verfasst am: 14.09.2017, 09:46     Titel:
  Antworten mit Zitat      
Hallo

nutze DIR um die TXTs im Ordner zu lokalisieren

Code:



txtfiles = dir(fullfile(pwd,'*.txt'));
data    = cell(1, length(txtfiles));
for k = 1:length(txtfiles)
   data{k} = dlmread(fullfile(pwd, txtfiles(k).name));      
end

figure
% alle Werte auf einmal plotten
A= cat(1,data{:})
x=A(:,1); # Werte der 1. Spalte aus der Textdatei für x-Achse
y=A(:,2); # Werte der 2. Spalte aus der Textdatei für y-Achse
plot(x,y)

% wenn jede txt detei eigene Linie bekommen soll, dann muss es über FOR und HOLD ON gemacht werden
figure
hold on
for k = 1:length(data)
   A= data{k};
   x=A(:,1); # Werte der 1. Spalte aus der Textdatei für x-Achse
   y=A(:,2); # Werte der 2. Spalte aus der Textdatei für y-Achse
   plot(x,y)
end
 


Zuletzt bearbeitet von denny am 14.09.2017, 17:32, insgesamt einmal bearbeitet
Private Nachricht senden Benutzer-Profile anzeigen
 
Meranm22
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 2
Anmeldedatum: 13.09.17
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 14.09.2017, 12:50     Titel:
  Antworten mit Zitat      
Hallo denny,

vielen Dank für die schnelle Hilfe.
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.