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

Dateien zusammenfassen

 

Gast



Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 30.03.2013, 00:09     Titel: Dateien zusammenfassen
  Antworten mit Zitat      
Hallo gibt es ein Befehl, was automatisch Dateien merged.
beispielsweise habe ich in unterschiedlichen Funktionen Dateien erstellt.
mit
Code:
fileID = fopen('tes1.txt','w');
fprintf(fileID,'%f \t%f',[Position Werte]);
fclose(fileID);


Jetzt möchte ich in meiner Hauptklasse alle Dateien, die in Unterfunktionen erstellelt wurden, in einer Datei zusammen fassen.

Dabei möchte ich die Namen der Dateien nicht explizit nennen, sondern die Dateien auf Dateiendung txt überprüfen und sobald die Dateien ine txt endung haben, sollen gewählt werden.


aj.geissler
Forum-Guru

Forum-Guru



Beiträge: 251
Anmeldedatum: 26.11.07
Wohnort: Seeheim-Jugenheim
Version: ---
     Beitrag Verfasst am: 30.03.2013, 15:29     Titel:
  Antworten mit Zitat      
Hi,

wenn Du einen Zip-Packer aufrufen könntest, wären die Dateien gemergt und komprimiert.
Vor allem müsstest Du dich nicht um einen eigenen "Header" kümmern, um die einzelnen Dateien in der Gesamtdatei voneinander unterscheiden zu können.

LG & Frohe Ostern
Andreas
Private Nachricht senden Benutzer-Profile anzeigen
 
Gast



Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 30.03.2013, 21:27     Titel:
  Antworten mit Zitat      
könntest du mir n Vorschlag posten. Ich kann mit deiner Antwort nichts anfangen. Tut mir leid.

ich habe jetzt nun vier dateien, wie könnte ich den inhalt in einer datei untereinander schreiben
 
Jan S
Moderator

Moderator


Beiträge: 11.057
Anmeldedatum: 08.07.10
Wohnort: Heidelberg
Version: 2009a, 2016b
     Beitrag Verfasst am: 01.04.2013, 13:12     Titel: Re: Dateien zusammenfassen
  Antworten mit Zitat      
Hallo,

Was bedeutet bei "automatisch mergen" das "automatisch" genau?
Wie können die Files erkannt werden, die zusammengefügt werden sollen und wie bestimmst Du die Reihenfolge?
Wäre es nicht einfacher, von vornherein die neuen Daten an ein bestehendes File anzuhängen?

Per DIR('tes*.txt') bekommst Du eine Liste von File-Namen. Per FOPEN kannst Du sie zum Lesen öffnen und per FREAD einlesen. Danach das File öffnen, an das die Daten angehängth werden sollen und per FWRITE anhängen. Schließlich ein FCLOSE um die Files wieder zu schließen.

Gruß, Jan
Private Nachricht senden Benutzer-Profile anzeigen
 
Gast



Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 01.04.2013, 13:51     Titel:
  Antworten mit Zitat      
in allen vier dateien existiert eine spalte "position" (was datum und uhrzeit angibt), so soll in der neuen datei nach der zeit sortiert werden.


mal angenommen,
ich habe vier dateien a.txt, b.txt, c.txt, d.txt,
doch wie könnte ich jetzt die inhalte in eine datei zusammenfügen.

datei a.txt hat den inhalt
Code:

02.03.2013 11:00 -5
02.03.2013 11:20 2
02.03.2013 11:40 10
 


datei b.txt hat den inhalt
Code:

02.03.2013 11:00 -5
02.03.2013 12:20 8
02.03.2013 11:40 10
 


und so weiter
 
Gast



Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 04.04.2013, 00:34     Titel:
  Antworten mit Zitat      
könnt ihr vielleicht nur bei der sortierung mich unterstützen
 
Gast



Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 08.04.2013, 13:41     Titel:
  Antworten mit Zitat      
wie müsste ich den unten stehenden code ändern, um das beispiel einzulesen
Code:
fin = fopen(’matrix.txt’,’r’);
c = 1;
while (~feof(fin))
L = fgetl(fin)
A(c,:) = sscanf(L,’%f’)’;
c = c+1;
end
A


Code:
02.03.2013 11:00 -5
02.03.2013 11:20 2
02.03.2013 11:40 10
 
Jan S
Moderator

Moderator


Beiträge: 11.057
Anmeldedatum: 08.07.10
Wohnort: Heidelberg
Version: 2009a, 2016b
     Beitrag Verfasst am: 08.04.2013, 16:25     Titel:
  Antworten mit Zitat      
Hallo,

Code:
fin = fopen('matrix.txt');
if fin == -1, error('Cannot open file for writing'); end
02.03.2013 11:00 -5

data = fscanf(fin, '%d.%d.%d %d:%d %g', [6, Inf]);
fclose(fin);
 

Gruß, Jan
Private Nachricht senden Benutzer-Profile anzeigen
 
Gast



Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 08.04.2013, 21:21     Titel:
  Antworten mit Zitat      
in meiner matrix.txt steht folgendes
Code:
19    0.000000    1.000000


und erhalte folgendes mit deinem code, hmmm
Code:
data =

    19


ans =

     0
 
Jan S
Moderator

Moderator


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

Zitat:
in meiner matrix.txt steht folgendes
Code:
19    0.000000    1.000000

Das ist ja merkwürdig. Du hattest doch geschrieben, im Text-File stünde etwas wie:
Code:
02.03.2013 11:00 -5
02.03.2013 11:20 2
02.03.2013 11:40 10


Wenn ich das dann z.B. in einen String schreibe:
Code:
C = ['02.03.2013 11:00 -5', 10, ...
  '02.03.2013 11:20 2', 10, ...
  '02.03.2013 11:40' 10];
data = sscanf(C, '%d.%d.%d %d:%d %g', [6, Inf]);

bekomme ich wie erwartet:
Code:
data =
           2           2           2
           3           3           3
        2013        2013        2013
          11          11          11
           0          20          40
          -5           2          10

Also die Tage in der ersten Zeile, die Monate in der zweiten usw.

Das der Code dann natürlich für etwas wie "19 0.000000 1.000000" nicht wie gewünscht läuft, ist nicht verwunderlich, oder? Er ist ja für ganz andere Daten konstruiert worden.

Gruß, Jan

Zuletzt bearbeitet von Jan S am 11.04.2013, 00:16, insgesamt einmal bearbeitet
Private Nachricht senden Benutzer-Profile anzeigen
 
Gast



Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 10.04.2013, 23:25     Titel:
  Antworten mit Zitat      
super ich danke dir
 
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.