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

Stellen vor dem Komma bei Ausgabe von Zahl

 

backi
Forum-Newbie

Forum-Newbie


Beiträge: 2
Anmeldedatum: 13.11.13
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 13.11.2013, 17:10     Titel: Stellen vor dem Komma bei Ausgabe von Zahl
  Antworten mit Zitat      
Liebe Leute,

ich bin gerade dabei mein erstes Matlabskript überhaupt zu schreiben, dass mir Zahlen in einer Datei ausgeben soll, um diese dann wiederum von einem anderen Programm einlesen zu lassen.
Meine Ausgabedatei sieht auch fast schon so aus, wie die von dem anderen Programm geforderte Vorgabe.
Allerdings habe ich das Problem, dass ich die in Vektoren gespeicherten Daten in einer speziellen Form ausgeben muss.

Bsp: Zahl = 1,234x10¹⁰

geforderte Ausgabe: .1234E11


wenn ich über fprintf('15.7E', Zahl); die Zahl ausgebe, bekomme ich aber 1.234E10 herraus.
Gibt es eine Möglichkeit die Anzahl der Stellen vor dem Komma zu varieren? Habe schon viel im Internet gesucht, aber noch keine mögliche Lösung gefunden.

Vielen Dank für eure Hilfe!
Private Nachricht senden Benutzer-Profile anzeigen


Harald
Forum-Meister

Forum-Meister


Beiträge: 24.499
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 13.11.2013, 17:17     Titel:
  Antworten mit Zitat      
Hallo,

ich fürchte, dass es keine wirklich triviale Lösung gibt.
Das sollte aber zum Ziel führen:
http://www.gomatlab.de/format-expon.....niger-ziffern-t30661.html
(letzter Beitrag)

Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
Kascho
Forum-Century

Forum-Century


Beiträge: 195
Anmeldedatum: 24.03.10
Wohnort: Jena
Version: R2008b ... :(
     Beitrag Verfasst am: 13.11.2013, 17:32     Titel:
  Antworten mit Zitat      
Vllt bringt es was die Zahl in einen string (chars) zu ändern und dann über strfind/strrep dein Format zu basteln?!

Wie liegen denn die Daten im Matlab vor?
Private Nachricht senden Benutzer-Profile anzeigen
 
backi
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 2
Anmeldedatum: 13.11.13
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 13.11.2013, 18:16     Titel:
  Antworten mit Zitat      
Vielen Dank für eure Hilfe!
Habe mir jetzt ein kleines Unterprogramm gebastelt, was den Zweck erfüllt.

Ich stelle das hier mal rein, falls noch jemand mal das selbe Problem haben sollte.

Code:
%
zahl = pi*10.^6;
expo = floor(log10(abs(zahl)));


fprintf('Eingabe: %E\r\n',zahl);
fprintf('Exponent: %i\r\n' , expo);


zahl = zahl*10^(30);
expo = expo+1;
strzahl = num2str(zahl);
strzahl = strzahl(1:7);    
str = sprintf('%sE%0+3.0f',strzahl, expo);


fprintf('Ausgabe: .%s\r\n',str);
 


Gruß,

Kai.
Private Nachricht senden Benutzer-Profile anzeigen
 
Sirius3
Forum-Guru

Forum-Guru


Beiträge: 441
Anmeldedatum: 12.11.11
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 14.11.2013, 00:03     Titel:
  Antworten mit Zitat      
Hallo backi,
hier noch das ganze in einer Zeile und für auch negative Zahlen:
Code:
num = -1.23456e-7
str = regexprep(sprintf('%e\n',num*10),'(.)\.','.$1')
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 - 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.