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

Frage zu save

 

Gast



Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 25.01.2009, 19:15     Titel: Frage zu save
  Antworten mit Zitat      
Hallo an allle,

ich möchte gerne folgenden vektor in eine datei schreiben:

v =

0.010000000000000
0.001000000000000
0.000100000000000
0.000010000000000

dies funktioniert auch tadellos mit

save -ascii -double a.dat v

jedoch ist dann die darstellung der zahlen anders:

1.0000000000000000e-002
1.0000000000000000e-003
1.0000000000000000e-004
1.0000000000000001e-005
was mir nicht weiterhilft da ich den vektor in dieser darstellung nicht verwenden kann.
gibt es eine mögliche (option) von save so das die darstellung nicht geändert wird?!

mfg

gast


Amilo

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 26.01.2009, 02:15     Titel:
  Antworten mit Zitat      
Code:

fid=fopen('a.dat','w'); %Erzeugen von Datei a.dat
fprintf(fid,'%12.12f\n',v); %Schreiben
fclose(fid); %schließen von a.dat


Leider kenne ich keine einfache Möglichkeit als die mit
der C - Formatierung. Zu fprintf() gehört noch eine
Funktion zum Auslesen von formatierten Dateien: fscanf().
 
Gast



Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 26.01.2009, 14:05     Titel:
  Antworten mit Zitat      
super es klappt

vielen dank!!!!!
 
Gast



Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 26.01.2009, 14:51     Titel:
  Antworten mit Zitat      
und wie kriege ich dann die überflüssigen nullen hinterm komma weg?!

0.010000000
0.000100000
0.000010000

ich hätte gerne

0.01
0.0001
0.00001

mfg

gast
 
jawthruster
Forum-Newbie

Forum-Newbie


Beiträge: 5
Anmeldedatum: 30.12.08
Wohnort: Edinburgh
Version: ---
     Beitrag Verfasst am: 29.01.2009, 12:25     Titel:
  Antworten mit Zitat      
in C gibt es doch den "round" befehl um zu runden...

double round(double number, unsigned int digits)

das sollte helfen, denke ich, wobei die double Variable number die Zahl ist, die Du runden moechtest, und digits die Anzahl der Nachkommastellen. Zurueckgegeben wird der gerundete Wert.

Vielleicht kann ja das helfen. Ansonsten kann man ja die Formatiertung der Ausgabe mithilfe des fprintf Befehls aendern (ich meine, dass hier %12.12f der Grund fuer diese Formatierung ist).
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.