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

Datei mit unregelmäßigen Spalten einladen

 

Nicole89

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 14.08.2012, 14:17     Titel: Datei mit unregelmäßigen Spalten einladen
  Antworten mit Zitat      
Hallo,

ich hab eine kleine Matlab Frage. Ich möchte eine txt-Tabelle mit Zahlen in Matlab einladen. Dazu benutze ich den Befehl "load('abc.txt')

Mein Problem ist, dass die Zeilen der Datei nicht immer die gleiche Anzahl an Spalten haben. Das sieht z.B. so aus:


1 2 3 4 5
1 2 3 4 5 6
1 2 3 4 5

Daraufhin gibt mir Matlab natürlich immer einen Fehler aus.
Gibt es eine Möglichkeit trotzdem diese Datei einzulesen und vielleicht automatisch nicht existierende Spalten-Werte mit 0 oder NAN auffüllen zu lassen?

Hat einer von euch da vielleicht eine Idee, wie man sowas anstellen könnte?

Vielen Dank und viele Grüßen,

Nicole


Goofy9020
Forum-Century

Forum-Century


Beiträge: 164
Anmeldedatum: 10.08.11
Wohnort: ---
Version: 2009a, 2010b
     Beitrag Verfasst am: 14.08.2012, 14:47     Titel:
  Antworten mit Zitat      
Code:


ließt dir immer eine Zeile ein. Vielleicht hilft es dir weiter
Private Nachricht senden Benutzer-Profile anzeigen
 
Nicole89

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 14.08.2012, 15:23     Titel:
  Antworten mit Zitat      
Hallo Goofy,

Vielen Dank für deine Antwort.
Ich hab mir jetzt erstmal eine leere, große Matrix definiert mit vielen 0.
Da wollt ich mit fgetl jetzt Zeile für Zeile einlesen über eine for schleife.

a=zeros(100000,20);

for i=1:100000
a(i,Smile=fgetl(datei);
end

Zum einen denke ich mir dass das ganz schön lange dauern wird (die Datei besteht aus mehreren tausend zeilen...) mit einer for schleife

zum anderen gibt mir fgetl immer die komplette zeile aus. wenn ich diese zeile dann in eine zeile meiner matrix schreiben möchte gibt es stets eine "mismatch"

Einen etwas "toleranteren" load Befehl gibt es nicht oder? Selbst wenn ich die Matrix davor schon definiere.
 
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.