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

Zahlentabelle in .txt Fromat einlesen

 

ETEE
Forum-Newbie

Forum-Newbie


Beiträge: 4
Anmeldedatum: 31.05.15
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 31.05.2015, 11:18     Titel: Zahlentabelle in .txt Fromat einlesen
  Antworten mit Zitat      
Hallo liebe MatLab Gemeinde,

ich habe schon hier im Forum nach Antworten gesucht aber nicht treffendes gefunden für mein Problem.

Ich habe eine .txt Datei die sieht folgendermaßen aus:

-1.0 0.1
-900.0E-3 2.338
-881.8E-3 3.283
-863.6E-3 4.402
-845.5E-3 5.714
-827.3E-3 7.238
-809.1E-3 9.003
-790.9E-3 11.05
-772.7E-3 13.42
-754.5E-3 16.17
-736.4E-3 19.40
-718.2E-3 23.20
-700.0E-3 27.74
-681.8E-3 33.22
-663.6E-3 39.88
-645.5E-3 47.98

Nun möchte ich die jeweiligen Spalten einlesen und in x und y speichern.
Anschließend jede Zeile miteinander verrechnen und eine neue Textdatei mit den neuen Spalten erzeugen.

Bei mir scheitert es nun leider (da ich Anfänger bin) beim auslesen und Zahlen speichern.

Ich habe folgendes probiert:

Code:
fid = fopen('C:\windows\Desktop\Werteeinlesen.txt');
daten = cell2mat(textscan(fid, '%f%f', 'headerlines', 1));
fclose(fid);
x = daten(end,1:1)
y = daten(end,2:2)


einfach nur um zu schauen ob es klappt.

Kann mir jemand von euch helfen ach und die Spalten gehen von 1 bis 100.

Vielen Dank im voraus!
[bisherige Informationen von diesen Beitrag importiert. http://www.gomatlab.de/werte-aus-txt-auslesen-t21137.html]

[EDITED, Jan, Bitte Code-Umgebung verwenden - Danke!]
Private Nachricht senden Benutzer-Profile anzeigen E-Mail senden


Jan S
Moderator

Moderator


Beiträge: 11.057
Anmeldedatum: 08.07.10
Wohnort: Heidelberg
Version: 2009a, 2016b
     Beitrag Verfasst am: 31.05.2015, 17:38     Titel: Re: Zahlentabelle in .txt Fromat einlesen
  Antworten mit Zitat      
Hallo ETEE,

Was scheitert denn genau? Welche Fehlermeldung bekommst Du oder weichen die Ergebnisse von Deinen Erwartungen ab?
Steht das File wirklich in "C:\Windows\Desktop"? Das ist ein recht ungewöhnlicher Ordner für ein Daten File. Ich würde dringend davon abraten etwas in den Windows-Ordner hineinzuschreiben!!!

Nach einem FOPEN sollte man unbedingt immer und jedes Mal ohne Ausnahme prüfen, ob das File gefunden wurde:
Code:
fid = fopen('C:\windows\Desktop\Werteeinlesen.txt');
if fid==-1
  error('Cannot open file for reading.');
end

daten = fscanf(fid, '%f', [2, inf]);
fclose(fid);

FSCANF ist hier direkter als der Umweg über TEXTSCAN.

Gruß, Jan
Private Nachricht senden Benutzer-Profile anzeigen
 
ETEE
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 4
Anmeldedatum: 31.05.15
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 31.05.2015, 18:20     Titel:
  Antworten mit Zitat      
Also es kommt diese Fehlermeldung an:
Error using textscan
Invalid file identifier. Use fopen to generate a valid file identifier.

Und der Pfad ist nur jetzt Beispielhaft da es sonst zu lang wäre.
Private Nachricht senden Benutzer-Profile anzeigen E-Mail senden
 
ETEE
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 4
Anmeldedatum: 31.05.15
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 31.05.2015, 18:25     Titel:
  Antworten mit Zitat      
Ich habe jtzt noch bisschen rumprobiert mit:
Code:

fid = fopen('C:\Users\name\Documents\MATLAB\xy.txt');
daten = cell2mat(textscan(fid, '%f%f', 'headerlines', 1));
fclose(fid);
x = daten(end,1:1)
y = daten(end,2:2)


kann ich die erste Zeile auslesen und speichern allerdings nicht mehr.
Ich möchte ja alle in einer Matrix haben jeweils in Matrix x und y.

[EDITED, Jan, Bitte Code-Umgebung verwenden - Danke!]
Private Nachricht senden Benutzer-Profile anzeigen E-Mail senden
 
Jan S
Moderator

Moderator


Beiträge: 11.057
Anmeldedatum: 08.07.10
Wohnort: Heidelberg
Version: 2009a, 2016b
     Beitrag Verfasst am: 31.05.2015, 22:28     Titel:
  Antworten mit Zitat      
Hallo ETEE,

Bitte verwende die Code-Umgebung für Code.

Das Problem war also zunächst, dass das File nicht existierte. Dazu hatte ich ja bereits vorgeschlagen den erfolg von FOPEN immer zu testen. Damit meinte ich übrigens wirklich immer. Ich habe viel zu viele Programme gesehen, die mit kryptischen Fehlermeldungen abstürzten, statt Standard-Probleme wie fehlende Files ordentlich abzufangen. Z.B. Dein Programm...

Ich habe Dir einen Vorschlag gemacht, wie man alle Zahlen mit FSCANF einlesen kann. Hast Du einen Grund aus dem Du es doch lieber mit TEXTSCAN versuchen möchtest?

Code:
kann ich die erste Zeile auslesen und speichern allerdings nicht mehr.

Wieso kannst Du das nicht speichern? Wie groß ist denn "daten"? Kannst Du das File zur Verfügung stellen? Denn bisher kann man nur raten, was genau bei Dir passiert.
Wozu ist "headerline, 1" notwendig? Dein Beispiel-Text enthält keine Headerline.

Gruß, Jan
Private Nachricht senden Benutzer-Profile anzeigen
 
ETEE
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 4
Anmeldedatum: 31.05.15
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 31.05.2015, 22:37     Titel:
  Antworten mit Zitat      
Hallo ich habe es jetzt hinbekommen. Ist nicht schön aber selten Smile.
Private Nachricht senden Benutzer-Profile anzeigen E-Mail senden
 
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.