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

Exponential Schreibweise in Matlab spezifizeren, z.B. E-02

 

matlabnutzer

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 15.08.2011, 04:54     Titel: Exponential Schreibweise in Matlab spezifizeren, z.B. E-02
  Antworten mit Zitat      
Liebe Forengemeinde,

wie schaffe ich es bei sprintf eine Zahl wie 60 immer in einer
genau definierten Exponentialschreibweise wie .6000000E-03 zu schreiben?

Ich benoetige diese genaue Darstellung (keine Zahl vor dem Punkt und nach dem Punkt faengt die Zahl dann direkt an) fuer ein weiteres Programm - wie bekomme ich eine feste Mantisse Shocked ?

str = sprintf('%7.0E', 60);

Der Output soll bei 60 sein: 0.6000000E-03
bei 600: 0.6000000E-02
bei 5555: 0.5555000E-01


Hoffe, Ihr versteht was ich damit meine,
Vielen Dank!


matlabnutzer

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 15.08.2011, 05:00     Titel:
  Antworten mit Zitat      
Oh, sorry, jetzt habe ich selbst die fuehrenden Nullen vor dem Komma geschrieben... einfach wegdenken! Smile
 
denny
Supporter

Supporter



Beiträge: 3.853
Anmeldedatum: 14.02.08
Wohnort: Ulm
Version: R2012b
     Beitrag Verfasst am: 15.08.2011, 12:22     Titel:
  Antworten mit Zitat      
Hallo

1) Wie soll deiner Meinung nach aus 60 => 0.6E-03 rauskommen,
SPRITNF führt ja keine mathematischen Operationen durch, sondern stellt das Ergebnis dar. Wenn du das Punkt nach links bewegen willst, dann muss du Division durch 10 durchführen(wenn man den Punkt um eine Stelle verschieben möchte). In deinem Fall durch 10000.

2) Den Punkt vor der Zahl bringen, kann man nur durchs Ersetzen machen.z.B mit REGEXPREP


Code:

zahl= 60
regexprep(sprintf('%.6s', zahl/10000),'(\d{1})\.{1}','.$1')
 
Private Nachricht senden Benutzer-Profile anzeigen
Verschoben: 15.08.2011, 12:22 Uhr von denny
Von Matlab intern nach Programmierung
 
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.