|
|
String auf .txt auslesen + Anfänger = Error |
|
chackyo |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 27.10.2013, 12:39
Titel: String auf .txt auslesen + Anfänger = Error
|
 |
|
 |
|
Hey Leute!
Ich bin neu zu Matlab gekommen, wegen Studium, hab bis jetzt 16 Stunden Matlab gehabt und finde mich eigtl. gut zurecht, aber ich habe ein Problem bei einer Auslesefunktion.
Ohne der kann ich im Projekt nicht weitermachen -.-
Und zwar hab ich in einer .txt, auf der ich zugreifen kann, Buchstaben.
Schaut in etwa so aus:
ABCDEFGH
AAABBBAA
XYZBCDAA
(alle sind gleich lang!)
Die Buchstaben sind in einer Reihe ohne Leerzeichen geschrieben.
Und ich soll jetzt mal ne Funktion schreiben, die die Strings (nutze ich hier das Wort "string" richtig???) ausgibt, so dass ich die dann weiterverarbeiten kann. (Ich will z.B. die summe aller "A"s an der letzten stelle auslesen...)
Aber nun zum Punkt.
Ich habe mittels
Alles=fscanf([eingelesene Text Datei], '%s', [Anzahl_der_Zeilen])
das ausgegeben...
Schaut dann so aus:
ABCDEFGHAAABBBAAXYZBCDAA
Ist nicht schön.
Außerdem hab ich bei einem anderen Versuch es geschafft, mittels zeros eine Matrix zu erstellen und diese einzeln ausgelesenen Buchstaben!!!! mittels for-schleife reinzuschreiben.
Funktioniert auch theoretisch, allerdings werden die Buchstaben in Zahlen umgewandelt, was auch nicht ideal ist.
Ich habe gehört, es soll dann aber so oder so ähnlich aussehen von Kollegen:
alles=
ABCDEFGH
AAABBBAA
XYZBCDAA
Einfach mehr oder weniger wie in der Text Datei, aber ich kann dann einfach damit weitermachen (einzelne stellen auslesen, etc.)
Ich bin mir sicher dass ich irgendwo etwas übersehen habe, sodass ich nicht auf das gewünschte Ergebnis komme.
Aber was?
Danke im Voraus!
|
|
|
|
|
Harald |

Forum-Meister
|
 |
Beiträge: 24.501
|
 |
|
 |
Anmeldedatum: 26.03.09
|
 |
|
 |
Wohnort: Nähe München
|
 |
|
 |
Version: ab 2017b
|
 |
|
|
 |
|
Verfasst am: 27.10.2013, 13:10
Titel:
|
 |
Hallo,
mit textscan dürftest du dir leichter tun:
fid = fopen('datei.txt');
data = textscan(fid, '%s');
data = data{1};
fclose(fid);
Falls das nicht funktioniert, bitte einen Ausschnitt der Datei anhängen.
Grüße,
Harald
|
|
|
chackyo |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 27.10.2013, 22:45
Titel:
|
 |
|
 |
|
Harald hat Folgendes geschrieben: |
Hallo,
mit textscan dürftest du dir leichter tun:
fid = fopen('datei.txt');
data = textscan(fid, '%s');
data = data{1};
fclose(fid);
Falls das nicht funktioniert, bitte einen Ausschnitt der Datei anhängen.
Grüße,
Harald |
Hey! Danke erstmal für deine Antwort und dein Bemühen.
Der Code hat leider nicht funktioniert.
Hab aber mich jetzt gerade nochmal hingesetzt und herausgefunden wies geht:
Und zwar hab ich hier unbewusst einen Fehler eingepflanzt in diese Zeile die ich hier reingeschrieben habe.
Alles=fscanf([eingelesene Text Datei], '%s', [Anzahl_der_Zeilen])
Ich habe hier das [Anzahl_der_Zeilen] in eckige Klammern geschrieben.
Damit hab ich aussagen wollen, dass die Anzahl der Zeilen ausgelesen werden sollen.
Bei meinem Code hab ich das nicht gemacht; bin aber nun draufgekommen, dass man da auch tatsächlich eckige Klammern reinschreiben kann, um gleich eine Matrix zu machen...
Mein Code schaut jetzt so aus und funktioniert (= als Matrix ausgegeben, mit Buchstaben!)
Alles=fscanf(eingelesene Text Datei, '%s \n', [Anzahl_der_Zeilen,1])
Erstellt eine für mich perfekte Matrix
ich kann dann mit
test=Alles(3,3)
den dritten Buchstaben in dritten Zeile sehr einfach auslesen.
Habe sicherlich drei Stunden an der verdammten Zeile gesessen, will Deinen Code probieren, und da fällt mir eine Möglichkeit ein, und das funktioniert dann tatsächlich.
Danke trotzdem vielmals.
Gruß!
|
|
|
Harald |

Forum-Meister
|
 |
Beiträge: 24.501
|
 |
|
 |
Anmeldedatum: 26.03.09
|
 |
|
 |
Wohnort: Nähe München
|
 |
|
 |
Version: ab 2017b
|
 |
|
|
 |
|
Verfasst am: 27.10.2013, 23:19
Titel:
|
 |
Hallo,
beim nächsten Mal bitte einfach einen Ausschnitt der Textdatei anhängen - und wenn etwas nicht funktioniert, dann bitte schreiben, was nicht funktioniert.
Grüße,
Harald
|
|
|
|
|
Einstellungen und Berechtigungen
|
|
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
| 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.
|
|