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

fscanf mit mehreren Spalten

 

Burn0ut
Forum-Newbie

Forum-Newbie


Beiträge: 4
Anmeldedatum: 16.11.12
Wohnort: ---
Version: 7.6.0.324 (R2008a)
     Beitrag Verfasst am: 16.11.2012, 14:38     Titel: fscanf mit mehreren Spalten
  Antworten mit Zitat      
Hallo,

ich bin relativ neu im Matlab-Bereich und versuche grade einen Importfilter zu schreiben.

Ich versuche grade eine txt-Datei zu importieren die folgende Werte enthält:
a:195343461,194939457,195588307,0.00,0.00
b:195204766,195008014,195344223,0.00,0.00
c:195098886,194792441,195485847,0.00,0.00
d:195047174,195000730,195535471,0.00,0.00
a:195343480,194939471,195588316,0.00,0.00
b:195204766,195008015,195344228,0.00,0.00
c:195098886,194792441,195485847,0.00,0.00
d:195047173,195000731,195535470,0.00,0.00

allgemein:
X:a,b,c,d,e

Ich möchte gerne eine Matrix herraus bekommen die Dann entsprechend aufgebaut ist, dass in der ersten Zeile den Buchstaben X in dec (A=97; B=98...) und dann die Zahlen jeweils als eine Spalte, jede Zeile der Daten soll auch in der Matrix eine Zeile sein.

Aktuelle habe ich es wie folgt versucht:
Code:
fid=fopen('filename')
[A]=fscanf(fid,'a:%d,%d,%d,%f,%f\n')


Leider wird mir nun eine Matrix mit einer Spalte ausgegeben, in der alle Werte untereinander stehen.

Kann mir jemand sagen, wie ich aus den obengenannten Daten eine 8x7 Matrix bekomme? In Zukunft soll es nann möglich sein, eine große Anzahl solcher Zeilen zu importien?

Ich würde mich sehr über Ideen/Anregungen/Belehrungen freuen!

Gruß,
Burn
Private Nachricht senden Benutzer-Profile anzeigen


Harald
Forum-Meister

Forum-Meister


Beiträge: 24.501
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 17.11.2012, 00:17     Titel:
  Antworten mit Zitat      
Hallo,

davon abgesehen, dass ich textscan verwenden würde:
Ordne die Werte doch mit RESHAPE so an, wie du möchtest?

Was hält dich davon ab, diesen Prozess auf größere Dateien anzuwenden?

Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
Burn0ut
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 4
Anmeldedatum: 16.11.12
Wohnort: ---
Version: 7.6.0.324 (R2008a)
     Beitrag Verfasst am: 19.11.2012, 09:12     Titel:
  Antworten mit Zitat      
Hi,

vielen Dank für deine Antwort! Ich habe es auch mittlerweile per textscan erfolgreich importieren können.
Ich hatte es vorher mit textscan probiert aber irgendwas hatte ich falsch gemacht.
Ich hatte bisschen Sorgen, dass Matlab bei großen Dateien probleme bekommt, da der Import-Wizzard immer abgestüzt ist sobad ich solch eine Datei laden wollte mit dem texscan befehl kan ich aber über 100 000 Zeilen ohne Probleme importieren.

Viele Grüße,

Burn

PS: Noch der Code falls jemand über ein ähnliches Problem stolpert:
Code:
[address, x, y, z, temp, humid]=textread(adr,'%c %d %d %d %f %f','delimiter',[':',',']);
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.