Exponential precision of power engineering format
    9 visualizzazioni (ultimi 30 giorni)
  
       Mostra commenti meno recenti
    
Hello guys! I have the number 143903542.580052, by default matlab prints 1.439035e+08 but I want to print 143.9035e+06, I've tried so many matlab help links but nothing to do. Is there a way?
0 Commenti
Risposte (2)
  Star Strider
      
      
 il 23 Apr 2018
        For Command Window and ‘tooltip’ formatting, use:
format short eng
or:
format long eng
For printed output (using fprintf or sprintf), I wrote a little utility anonymous function for my own use to do that:
engntn = @(x) [x*10.^(-3*floor(log10(abs(x))/3))  3*floor(log10(abs(x))/3)];    % Engineering Notation Mantissa & Exponent
Result2 = sprintf('%.4fE%+04d', engntn(Q1))
for example:
Q1 =
          143903542.580052
Result2 =
    '143.9035E+006'
2 Commenti
  Star Strider
      
      
 il 23 Apr 2018
				My pleasure.
If my Answer helped you solve your problem, please Accept it!
  Harry Dymond
      
 il 31 Mag 2020
        My FEX submission num2eng will do this for printed output. It handles edge cases such as Inf and NaN inputs, has extensive formatting control for the output, and offers the option of SI prefixes instead of engineering notation.
0 Commenti
Vedere anche
Categorie
				Scopri di più su Performance and Memory in Help Center e File Exchange
			
	Prodotti
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!


