Mein MATLAB Forum - goMatlab.de

Mein MATLAB Forum

 
Gast > Registrieren       Autologin?   
Bücher:

Fachkräfte:
Entwicklungsingenieur (m/w) für modellbasierte Softwareentwicklung
Modellbasierte Softwareentwicklung mit MATLAB/Simulink und dSPACE TargetLink
Elektronische Fahrwerksysteme GmbH - Ingolstadt

Softwareentwickler (m/w) für automatische Codegenerierung
Softwareentwicklung mit MATLAB/Simulink und dSPACE TargetLink im Bereich Fahrwerkregelsysteme
Elektronische Fahrwerksysteme GmbH - Ingolstadt

Ingenieure (m/w) Funktionsentwicklung für Automatisiertes Fahren
Entwicklung von Software Funktionskomponenten für assistierte und automatisierte Fahrfunktionen
Continental AG - Frankfurt

Ingenieur (w/m) modellbasierte Entwicklung/Embedded Programmierung
Organisation und Durchführung von Projekten zur Integration von TargetLink
dSPACE GmbH - Böblingen (bei Stuttgart)

Entwicklungsingenieur (m/w) für Fahrdynamikregelsysteme
Entwicklung der für die Fahrdynamik relevanten Funktionen
Elektronische Fahrwerksysteme GmbH - Ingolstadt

weitere Angebote

Partner:


Vermarktungspartner


Forum
      Option
[Erweitert]
  • Diese Seite per Mail weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

Problem Text in ASCII Format in bestehende Datei anfügen

 

Felix

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 10.10.2007, 22:21     Titel: Problem Text in ASCII Format in bestehende Datei anfügen
  Antworten mit Zitat      
Hallo,

ich habe ein Problem mit der Funktion fprintf.
Ich versuche eine ASCII Datei .txt zu erzeugen in die ich zwei Zeilen Text mit:

fid = fopen('temp.txt','wt+');
fprintf(fid,'%s\n',lineone)
fprintf(fid,'%s\n',linetwo)

einfüge. Daraufhin sollen mehrere Zeilen Daten folgen, die perfekt formatiert in:

save tempascii.txt temp -ascii

ausgegeben werden. Diese werden so für die Weiterverarbeitung mit einem anderen Programm formatiert und dürfen keinesfalls in der Formatierung geändert werden (drei Spalten voller Zahlenwerte, getrennt durch ein Leerzeichen).

Ich habe nun versucht sie mit
D = dlmread('tempascii.txt','')
dlmwrite('temp.txt', D, '-append')
einzufügen - ohne Erfolg! Ich hab auch schon probiert es mit fprintf einzufügen jedoch werden die Daten nicht wie mit save in den beschriebenen drei spalten und mit je einem Leerzeichen zwischen den enthaltenen Werten optimal gespeichert, sondern alles aneinandergeklatscht.
Kann mir jemand weiterhelfen - ich wurstel schon seit drei Tagen dran rum und bin am verzweifeln.
Ich bekomme den fertig formatierten Text einfach nicht drangehängt.
Grüße, Felix


Bijick
Ehrenmitglied

Ehrenmitglied



Beiträge: 914
Anmeldedatum: 18.06.07
Wohnort: Nürnberg
Version: R2006b, R2008b
     Beitrag Verfasst am: 11.10.2007, 10:34     Titel:
  Antworten mit Zitat      
Hallo

hier mein Vorschlag:

Code:
D = dlmread('tempascii.txt','')
fid = fopen('temp.txt','a');
fprintf(fid,'%s\n',lineone)
fprintf(fid,'%s\n',linetwo)
dlmwrite('temp.txt', D, '-append','delimiter',' ');
fclose(fid)
 


Die wesentlichen Unterschiede sind das Öffnen von temp.txt mit dem Parameter 'a' damit alles angehängt und nicht überschrieben wird, und die Angabe des 'Delimiter', also des Trennzeichens zwischen den Spalten, in Deinem Fall die Leerzeichen.

Grüße
Bijick
_________________

>> why
Private Nachricht senden Benutzer-Profile anzeigen E-Mail senden
 
Felix

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 11.10.2007, 18:38     Titel: Problem Text in ASCII Format in bestehende Datei anfügen
  Antworten mit Zitat      
Vielen Dank für die Antwort - funktioniert leider nicht so wie geplant...

Im Textfile sieht es so aus:

-1.0000e-001 -5.0000e-002 -1.5000e-009
-1.0000e-001 -1.0000e-001 -7.0000e-010
-1.0000e-001 -1.5000e-001 -3.2000e-010
usw.

mit
dlmwrite('temp.txt', D, '-append','delimiter',' ');
gibt die Ausgabe gibt leider folgendes aus:

-0.1 -0.05 -1.5e-009
-0.1 -0.1 -7e-010
-0.1 -0.15 -3.2e-010

Gibt es nicht evtl eine Funktion, auf die ich noch nicht gestoßen bin, mit der man einfach einen existierenden ASCII Text an eine andere ASCII Datei anhängen kann.
Es ist ja alles schon vorhanden und bis jetzt hat mir jede funktion meine Werte ausgegeben aber die formatierung verwurstelt.

Vielen Dank, Felix
 
Bijick
Ehrenmitglied

Ehrenmitglied



Beiträge: 914
Anmeldedatum: 18.06.07
Wohnort: Nürnberg
Version: R2006b, R2008b
     Beitrag Verfasst am: 15.10.2007, 09:12     Titel:
  Antworten mit Zitat      
Hallo Felix,

jetzt verstehe ich Dein Problem (glaub ich). Hier also mein neuer Vorschlag:

Code:

D = fscanf(fid,'%c',Inf);
fid = fopen('temp.txt','a');
fprintf(fid,'%s ',lineone)
fprintf(fid,'%s ',linetwo)
fprintf(fid,'%c',D);
fclose(fid)
 


Ist es das, was Du suchst? Herzliche Grüße
Bijick
_________________

>> why
Private Nachricht senden Benutzer-Profile anzeigen E-Mail senden
 
Felix

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 16.10.2007, 11:59     Titel:
  Antworten mit Zitat      
Das wärs sicherlich gewesen.
Ich hab mich jetz anders durchgeschlagen (mehrere Schleifen etc.) und es funktioniert super.
Trotz dem noch mal vielen Dank für die Hilfe!
 
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
.


goMatlab ist ein Teil des goForen-Labels
goForen.de goMATLAB.de goLaTeX.de goPCB.de


 Impressum  | Nutzungsbedingungen  | Datenschutz  | Werbung/Mediadaten | Studentenversion | FAQ | goMatlab RSS Button RSS


Copyright © 2007 - 2017 goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks
Partner: LabVIEWforum.de

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.