Erstellung und Bearbeitung von Textdateien in Matlab

In diesem leicht verständlichen Tutorial führe ich Sie Schritt für Schritt durch den Prozess des Öffnens, Erstellens und Lesens von Textdateien in Matlab.

Einrichten einer neuen Datei 

Um eine neue Textdatei anzulegen, nutzen Sie einfach die Funktion fopen().

Geben Sie lediglich den Namen der Textdatei sowie den Schreibmodus „w“ (für Schreiben) in die Klammern ein, genau so:

>> MyFile=fopen("test2.txt", "w");

Die Variable MyFile ist dabei ein nützlicher Platzhalter, der es Ihnen im Skript erlaubt, auf den Dateinamen zu verweisen, ohne diesen jedes Mal neu eingeben zu müssen.

Kommen wir nun zum Schreiben von zwei Datensätzen in die Datei, und zwar mit der Funktion fprintf().

>> fprintf(MyFile, "1 Datensatz \n");
>> fprintf(MyFile, "2 Datensatz \n");

Kurzinfo: Das Zeichen \n (für neue Zeile) am Ende jedes Datensatzes weist Matlab an, eine neue Zeile zu beginnen, wodurch ein neuer Datensatz erstellt wird. Ohne \n würde der nächste fprint()- oder fput()-Befehl auf derselben Zeile weiterschreiben.

Vergessen Sie nicht, die Datei mit fclose() zu schließen, wenn Sie fertig sind.

>> fclose(MyFile);

Datei lesen

Das Lesen einer Textdatei ist kinderleicht. Verwenden Sie hierfür die Funktion fopen(), geben Sie den Dateinamen an und wählen Sie das Attribut „r“ (für Lesen):

>> MyFile=fopen("test2.txt", "r");

Die Variable MyFile dient hierbei als vielseitiges Werkzeug für alle Dateioperationen. Sie können sie nach Belieben benennen.

Um nun einen Eintrag aus der Datei zu lesen, verwenden Sie die Funktion fgetl().

>> fgetl(MyFile)

Diese Funktion gibt den Inhalt des ersten Eintrags aus.

ans = 1 Datensatz

Für den zweiten Eintrag verwenden Sie einfach noch einmal fgetl().

>> fgetl(MyFile)

Jetzt wird der zweite Eintrag ausgelesen, da der erste bereits gelesen wurde.

ans = 2 Datensatz

Erreicht die fgetl()-Funktion das Ende der Datei, gibt sie -1 zurück.

Wenn Sie zum Beispiel fgetl() ein drittes Mal aufrufen,

>> fgetl(MyFile)

erhalten Sie -1, weil in der Datei nur zwei Einträge vorhanden sind und beide schon gelesen wurden.

ans = -1

Vergessen Sie nicht, nach Beendigung der Lesevorgänge die Datei mit fclose() zu schließen.

>> fclose(MyFile);

Datei mit einer Schleife lesen

Wenn Sie eine Datei von Anfang bis Ende lesen möchten, ist der Einsatz einer Schleifenstruktur ratsam.

Mit dieser Methode sparen Sie sich das wiederholte Eingeben von fgetl() für jeden einzelnen Eintrag.

MyFile=fopen("test4.txt", "r");
eof=0;
while eof==0
rec =fgetl(MyFile)
if (rec==-1) eof=1; endif
end
fclose(MyFile)

Datensätze an eine bestehende Datei anhängen

Um weitere Datensätze zu einer bestehenden Datei hinzuzufügen, ohne den aktuellen Inhalt zu löschen, öffnen Sie sie einfach im Anhängemodus ('a').

Öffnen Sie beispielsweise die Datei "test2.txt" mit dem Zugriffsmodus 'a' mithilfe von fopen():

>> MyFile=fopen("test2.txt", "a");

Bisher enthält die Datei zwei Datensätze:

1 Datensatz
2 Datensatz

Fügen Sie nun mit fprintf() oder fputs() einen neuen Eintrag hinzu.

>> fprintf(MyFile, "3 Datensatz \n");

Tipp: Möchten Sie weitere Datensätze hinzufügen, verwenden Sie weiterhin die Funktion fprint(), wie im obigen Beispiel gezeigt.

Schließen Sie die Datei mit fclose(), sobald Sie fertig sind.

>> fclose(MyFile);

Ihre Datei enthält nun drei Datensätze.

1 Datensatz
2 Datensatz
3 Datensatz

Prima! Matlab hat den neuen Datensatz hinzugefügt, ohne die bestehenden Datensätze in der Datei zu überschreiben.

Zugriffsmodi für Dateien

Es gibt mehrere praktische Zugriffsmodi für Dateien, zwischen denen Sie wählen können:

r = öffnet die Datei zum Lesen
w = erstellt eine neue Datei zum Schreiben
a = fügt einer bestehenden Datei Datensätze hinzu, ohne den aktuellen Inhalt zu löschen
r+ = öffnet eine Datei sowohl zum Lesen als auch zum Schreiben
w+ = erstellt eine neue Datei sowohl zum Lesen als auch zum Schreiben
a+ = öffnet eine Datei sowohl zum Lesen als auch zum Schreiben am Ende der Datei

Mit diesen Kenntnissen sind Sie bestens gerüstet, um mit Matlab Textdateien zu bearbeiten oder zu erstellen. Viel Erfolg beim Programmieren!

 
 

Segnalami un errore, un refuso o un suggerimento per migliorare gli appunti

FacebookTwitterLinkedinLinkedin

Matlab-Dateien

Lesen und Schreiben