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

Kurze Änderung einer Textdatei

 

Bobbymi
Forum-Newbie

Forum-Newbie


Beiträge: 4
Anmeldedatum: 15.04.13
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 15.04.2013, 21:51     Titel: Kurze Änderung einer Textdatei
  Antworten mit Zitat      
Hallo zusammen,

ich habe ein kleines Problem, das ich irgendwie nicht gelöst bekomme. Ich habe mich schon an einem eigenen Code gesetzt, aber war nicht sehr erfolgreich, vielleicht kann mir einer von euch kurz helfen.
Ich habe eine txt Datei, wie unten aufgebaut in der Objekte definiert sind (Traffic.0., Traffic.1. etc.). Derzeit besteht jedes Objekt aus einer Anfangsdefinition, einzelnen Manövern und einer Endcondition beim letzten Manöver. Statt diese Endcondition nur beim letzten Manöver zu haben hätte ich Sie gerne hinter jedem einzelnen Manöver. Also statt

Zitat:
Traffic.0.Man.5.Limit = t 0.0997
Traffic.0.Man.5.LongDyn = v 0.00
Traffic.0.Man.5.Visib = 1
Traffic.0.Man.6.Limit = t 0.1000
Traffic.0.Man.6.LongDyn = v 0.00
Traffic.0.Man.6.Visib = 1
Traffic.0.Man.6.Endcondition = Vhcl.sRoad >=100.31586


dann
Zitat:

Traffic.0.Man.5.Limit = t 0.0997
Traffic.0.Man.5.LongDyn = v 0.00
Traffic.0.Man.5.Visib = 1
Traffic.0.Man.5.Endcondition = Vhcl.sRoad >=100.31586
Traffic.0.Man.6.Limit = t 0.1000
Traffic.0.Man.6.LongDyn = v 0.00
Traffic.0.Man.6.Visib = 1
Traffic.0.Man.6.Endcondition = Vhcl.sRoad >=100.31586


Und das gleiche bei "Traffic.0.Man.4." usw.

Die Endcondition ist bei jedem Objekt verschieden. Ich bekomme es hin die Objekte rauszulesen und die jeweilige Endcondition, aber irgendwie habe ich Probleme damit die Textdatei neu zu schreiben. Kann mir jemand weiterhelfen, wie das oben genannte Problem leicht in Matlab zu lösen ist?

Hier der Aufbau einer typischen Textdatei. In echt habe ich teilweise mehr als 50 Objekte, wodurch die manuelle Anpassung sehr aufwendig wird.

Zitat:
Traffic.N = 2
Traffic.SpeedUnit = ms
Traffic.0.Name = 00
Traffic.0.Info = ACC Object0
Traffic.0.Movie.Geometry = B2003_lq.mobj
Traffic.0.Color = 1.0 0.0 0.0
Traffic.0.Basics.Dimension = 4.1 1.7 1.2
Traffic.0.Basics.Offset = 0.2 0.0
Traffic.0.Init.Orientation = 0.0 0.0 0.0
Traffic.0.Init.v = 0.00
Traffic.0.Init.Road = 25.2162
Traffic.0.Man.StartCondition = Vhcl.sRoad >=0.0000
Traffic.0.Man.N = 7
Traffic.0.Man.0.Limit = t 0.0998
Traffic.0.Man.0.LongDyn = v 0.00
Traffic.0.Man.0.Visib = 1
Traffic.0.Man.1.Limit = t 0.0999
Traffic.0.Man.1.LongDyn = v 0.00
Traffic.0.Man.1.Visib = 1
Traffic.0.Man.2.Limit = t 0.1002
Traffic.0.Man.2.LongDyn = v 0.00
Traffic.0.Man.2.Visib = 1
Traffic.0.Man.3.Limit = t 0.1000
Traffic.0.Man.3.LongDyn = v 0.00
Traffic.0.Man.3.Visib = 1
Traffic.0.Man.4.Limit = t 0.1000
Traffic.0.Man.4.LongDyn = v 0.00
Traffic.0.Man.4.Visib = 1
Traffic.0.Man.5.Limit = t 0.0997
Traffic.0.Man.5.LongDyn = v 0.00
Traffic.0.Man.5.Visib = 1
Traffic.0.Man.6.Limit = t 0.1000
Traffic.0.Man.6.LongDyn = v 0.00
Traffic.0.Man.6.Visib = 1
Traffic.0.Man.6.Endcondition = Vhcl.sRoad >=100.31586
Traffic.1.Name = 01
Traffic.1.Info = ACC Object1
Traffic.1.Movie.Geometry = B2003_lq.mobj
Traffic.1.Color = 1.0 0.0 0.0
Traffic.1.Basics.Dimension = 4.1 1.7 1.2
Traffic.1.Basics.Offset = 0.2 0.0
Traffic.1.Init.Orientation = 0.0 0.0 0.0
Traffic.1.Init.v = 9.29
Traffic.1.Init.Road = 316.6380 -100
Traffic.1.Man.StartCondition = Vhcl.sRoad >=284.0934
Traffic.1.Man.N = 5
Traffic.1.Man.0.Limit = t 0.1000
Traffic.1.Man.0.LongDyn = v 9.29
Traffic.1.Man.0.LatDyn = y 99
Traffic.1.Man.0.Visib = 0
Traffic.1.Man.1.Limit = t 0.1000
Traffic.1.Man.1.LongDyn = v 9.42
Traffic.1.Man.1.Visib = 1
Traffic.1.Man.2.Limit = t 0.1000
Traffic.1.Man.2.LongDyn = v 9.41
Traffic.1.Man.2.Visib = 1
Traffic.1.Man.3.Limit = t 0.1000
Traffic.1.Man.3.LongDyn = v 9.48
Traffic.1.Man.3.Visib = 1
Traffic.1.Man.4.Limit = t 0.1000
Traffic.1.Man.4.LongDyn = v 9.48
Traffic.1.Man.4.Visib = 1
Traffic.1.Man.4.Endcondition = Vhcl.sRoad >=407.8171


Vielen Dank im Voraus!

Freundliche Grüße

Bobbymi
Private Nachricht senden Benutzer-Profile anzeigen


Sirius3
Forum-Guru

Forum-Guru


Beiträge: 441
Anmeldedatum: 11.11.11
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 16.04.2013, 05:39     Titel:
  Antworten mit Zitat      
Hallo Bobbymi,

was hast Du bisher geschrieben. Wenn Du es geschafft hast, die Datei zu lesen und ein struct daraus zu erzeugen dürfte das Schreiben eigentlich das Einfachste der Probleme sein:
Code:

fout = fopen('datei','w');
fprintf(fout, 'Traffic.N = %i\n', length(traffic));
fprintf(fout, 'Traffic.SpeedUnit = %s', speedunit);
for i=0:length(traffic)-1
    tra = traffic(i+1);
    fprintf(fout, 'Traffic.%i.Man.N = %i', i, length(tra.Man));
    for j=0:length(tra.Man)-1
        man = tra.Man(j+1);
        fprintf(fout, 'Traffic.%i.Man.%i.Limit = t %.4f', i, j, man.Limit);
    end
end
fclose(fout);
 

Ich hoffe das Prinzip wird klar.
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 - 2024 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.