Zweites Beispiel zum Einlesen von Daten aus externer Datei

Das vorhergehende Beispiel wird nun so verändert, dass es einerseits die Namensinformationen als Cell Arrays zurückgibt, und andererseits die eigentlichen Daten nicht mehr mit einer Schleife und fscanf einliest, sondern mit einem einmaligen Aufruf von textscan, welcher die Daten ebenfalls als Cell Array zurückgibt.

act

Bitte schauen Sie sich die Funktion load_data2.m anhand der folgenden Schritte aufmerksam an.

  • Öffnen Sie die Funktion load_data2.m im Editor
  • Auf Zeile 47 sehen Sie die Anwendung von textscan.
    Cdata = textscan(fid, '%s %s %s %f %s %f %f %f %f %f %s');
    Dieser Befehl liest entsprechend des vorgegebenen Formats (%s sind Strings, %f Fliesskommazahlen) Daten in ein Cell Array ein, bis das Ende der Datei erreicht ist. Cdata{x} wird dann alle Daten aus der x-ten Spalte der eingelesenen Datei enthalten. Alphanumerische Daten werden als Cell Array im Cell Array gespeichert, numerische Daten als Matrizen.
  • (was die Bearbeitung der Daten betrifft, ist die Funktion unvollständig)
  • auf den Zeilen 59-61 werden die Daten entsprechend den Erfordernissen umgeordnet:
    Cfirstname = Cdata{1};
    Cfamilyname = Cdata{2};
    Mdata = [Cdata{4} Cdata{6:10}];

Die Funktion kann mit [Mdata, Cfirstname, Cfamilyname] = load_data2('exp1.dat') aufgerufen werden.