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

fprintf oder dlmwrite in csv schreiben

 

Einsteiger

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 15.05.2009, 08:46     Titel: fprintf oder dlmwrite in csv schreiben
  Antworten mit Zitat      
guten morgen matlab freunde Smile

ich schaffe es nicht die richtige form hinzubekommen.

das soll in der csv-datei stehen:

11.05.2009 00:13:04; 23,940; 1,947; 8702,3;
11.05.2009 00:15:19; 23,940; 3,921; 7897,5;
11.05.2009 00:16:48; 23,940; 5,887; 7408,1;
...

mein ansatz sieht so aus:

Code:
Matrix=[ 23,940   1,947  8702,3;
         23,940   3,921  7897,5;
         23,940   5,887  7408,1;
        ...                     ]

for Anzahl= 1: length(Matrix)
   A{Anzahl,1}=datestr(now, 'dd.mm.yyyy HH:MM:SS')   % Datum - Uhrzeit
end;

filename = 'dateitest.csv';
fid = fopen(filename,'wt+' );
fprintf(fid  ,'%s ; %5.3f ; %5.3f  ; %5.1f ; \n', A{:,1},Matrix)

fclose(fid);


Wo liegt der Fehler? Was mache ich falsch? Nur Datum und Uhrzeit funktioniert, das andere leider nicht.
Schon mal vielen Dank im Vroaus!

viele Grüße

Edit by Bijick: Code-Umgebung ergänzt. Bitte in Zukunft selbst dran denken (Code-Button mittig über dem Eingabefeld)! Danke Smile


Lucia
Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 55
Anmeldedatum: 19.03.09
Wohnort: ---
Version: R2008b
     Beitrag Verfasst am: 15.05.2009, 09:45     Titel:
  Antworten mit Zitat      
Hallo! In Matrix die Kommas durch Punkte ersetzen, sonst bekommst du sechs Spalten statt drei. Außerdem operiert fprintf spaltenweise auf der Eingabe, du brauchst also Matrix' statt Matrix. So sollte es funktionieren:
Code:

Matrix=[ 23.940 1.947 8702.3;23.940 3.921 7897.5;23.940 5.887 7408.1 ];
filename = 'dateitest.csv';
fid = fopen(filename,'wt+' );
fprintf(fid , strcat(datestr(now, 'dd.mm.yyyy HH:MM:SS'),' ; %5.3f ; %5.3f ; %5.1f ; \n'), Matrix' );
fclose(fid);
 

vg Lucia
Private Nachricht senden Benutzer-Profile anzeigen
 
Gast



Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 15.05.2009, 10:04     Titel:
  Antworten mit Zitat      
WOW! Smile

funktioniert,

vielen dank für die schnelle antwort!

viele grüße
bülent
 
Gast



Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 15.05.2009, 10:31     Titel:
  Antworten mit Zitat      
eine kleine frage noch,

gibt es eine einfache möglichkeit, dass in die csv-datei kommas statt punkte geschrieben werden?
datum soll weiterhin mit punkten getrennt werden.

noch mal vielen dank! Smile

bülent
 
Lucia
Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 55
Anmeldedatum: 19.03.09
Wohnort: ---
Version: R2008b
     Beitrag Verfasst am: 15.05.2009, 13:58     Titel:
  Antworten mit Zitat      
Du kannst einen String erzeugen und dann alle Punkte durch Kommas ersetzen (bevor das in die Datei geschrieben wird), oder den String selber zusammenbauen, z.B. so
Code:
x=pi; sprintf('%5i,%3i',round(x),round(1000*(x-round(x))) );

Finde beides nicht so schön...
Private Nachricht senden Benutzer-Profile anzeigen
 
Bülent
Forum-Anfänger

Forum-Anfänger


Beiträge: 10
Anmeldedatum: 17.05.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 19.05.2009, 07:46     Titel:
  Antworten mit Zitat      
wie setze ich die kommas hier ein?

Code:
Matrix=[ 23.940 1.947 8702.3;23.940 3.921 7897.5;23.940 5.887 7408.1 ];
filename = 'dateitest.csv';
fid = fopen(filename,'wt+' );
fprintf(fid , strcat(datestr(now, 'dd.mm.yyyy HH:MM:SS'),' ; %5.3f ; %5.3f ; %5.1f ; \n'), Matrix' );
fclose(fid);
 


dieser code
Code:
x=pi; sprintf('%5i,%3i',round(x),round(1000*(x-round(x))) );

funktioniert zwar,
ich weiss aber noch nicht genau, wie ich es einbinden soll.

vielen dank im voraus!

und viele grüße
bülent
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.