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

Über Ordner iterieren + Dateien parsen

 

Helveticus
Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 64
Anmeldedatum: 08.07.11
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 11.10.2014, 21:31     Titel: Über Ordner iterieren + Dateien parsen
  Antworten mit Zitat      
Hallo

Ich habe einige Ordner mit Unterordnern, welche jeweils mehrere .log Dateien enthalten, wobei ich in jedem Ordner nur an der a.log interessiert bin.

Nun möchte ich mit Matlab über alle Ordner iterieren und jeweils alle a.log Dateien einlesen. Die Log-Einträge sind mit Komma separiert und haben viele Zeilen.

Ich möchte dann jeweils z.B. nur die 2 Kolonne jeder Datei nehmen und da bei allen Werten den Durchschnitt bilden.

Wie geht das in Matlab? Also insbesondere habe ich Mühe über alle Ordner und Unterordner zu iterieren und die Datei zu parsen, so dass ich nur die 2. Kolonne bekomme.
Private Nachricht senden Benutzer-Profile anzeigen


Harald
Forum-Meister

Forum-Meister


Beiträge: 24.499
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 11.10.2014, 23:33     Titel:
  Antworten mit Zitat      
Hallo,

siehe z.B. hier, was das Iterieren über die Ordner angeht.
Was heißt denn "2. Kolonne"?

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

Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 64
Anmeldedatum: 08.07.11
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 12.10.2014, 10:00     Titel:
  Antworten mit Zitat      
Du hast keinen Link angegeben. Wink

Also ich habe z.B. Dateien, welche folgenden Inhalt haben:

1, 2344124, 24515, 5625
2, 42424, 235425, 1234
3, 225, 2525, 6926
.....

Nun möchte ich eben von allen Dateien nur die 2. Spalte nehmen, also die Werte der 2. Spalte.
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.499
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 12.10.2014, 10:12     Titel:
  Antworten mit Zitat      
Hallo,

sorry, war wohl schon zu spät.
http://www.gomatlab.de/schnellere-m.....90,highlight,genpath.html

Ach, die 2. Spalte meinst du.
Da sollten die Beispiele in der Hilfe von textscan weiterhelfen:
Code:

fmt = '%*f %f %*[^\n]' % ersten Double überspringen, nächsten einlesen, dann bis zum Ende der Zeile


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

Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 64
Anmeldedatum: 08.07.11
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 17.10.2014, 11:03     Titel:
  Antworten mit Zitat      
Hi Harald

Darf ich dich noch einmal was fragen?

Wenn ich jetzt einen langen Vektor mit Zahlen habe, wobei jede Zahl System.currentMillis() in Java entspricht, also ein timestamp ist.

Nun möchte ich diesen Vektor in 1 Sekunden abschnitte unterteilen (also alle 1000 ms).

Wie geht das am einfachsten ohne über den gesamten Vektor einen Loop zu machen?
Private Nachricht senden Benutzer-Profile anzeigen
 
Alex4456
Forum-Anfänger

Forum-Anfänger


Beiträge: 47
Anmeldedatum: 17.09.14
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 17.10.2014, 11:38     Titel:
  Antworten mit Zitat      
Ich weiß jetzt nicht genau wie deine Zahlen aufgebaut sind,
wenn du meinst, dass du nur jede 1000 Zahl nehmen willst:

a = b(1:1000:end);

falls du java extra ausführen musst, gibt es arrayfun.
Private Nachricht senden Benutzer-Profile anzeigen
 
Helveticus
Themenstarter

Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 64
Anmeldedatum: 08.07.11
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 17.10.2014, 21:57     Titel:
  Antworten mit Zitat      
Also ich habe ein sehr langes Array, welches sehr viele Zahlen enthält (aufsteigen sortiert). Jede Zahl gibt die Anzahl Millisekunden seit 1970 an. Nun möchte ich dieses Array in 1 Sekunden-Abschnitte partitionieren.
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.