Imaginary Number Notation/ Formatting Real and Complex Results
    40 visualizzazioni (ultimi 30 giorni)
  
       Mostra commenti meno recenti
    
    Kyle McLaughlin
 il 19 Ott 2020
  
    
    
    
    
    Risposto: Walter Roberson
      
      
 il 19 Ott 2020
            Hello,
I am performing an eigenvalue calculation for a range of 10 numbers. One of these numbers are negative which results in a complex eigenvalue but the remainder are real numbers. I want to display these to the screen as results, however, when I do this the notation for the real values solutions occur as, for example, "3.464+0i" when it should just be "3.464". My 9th element in the calculation appears as how I want it "0+6.0598e-09i" and I would like to keep it this way. Is there a solution to this or do I just have to deal with the formatting?
Thanks,
Kyle
0 Commenti
Risposta accettata
  Walter Roberson
      
      
 il 19 Ott 2020
        An exact 0 imaginary part shows up as +0i if it is being displayed as part of a matrix of values in which some are not complex, but is dropped if all of the values being displayed are real-valued.
>> A=[3+0i,4+1i]
A =
   3.0000 + 0.0000i   4.0000 + 1.0000i
>> A(1), A(2)
ans =
     3
ans =
   4.0000 + 1.0000i
There is no control over this for automatic display. There are also no sprintf() or fprintf() or compose() format specifiers that display complex values.
You can do things like
   Afmt = arrayfun(@num2str, A, 'uniform', 0);
which will get out a cell array of character vectors, which you could then arrange for output, such as by using
   fmt = [repmat('%20s   ', 1, size(A,2)-1), '%20s\n'];  %adjust the 20 to suit
   Afmttranspose = Afmt.';
   fprintf(fmt,  Afmttranspose{:})
0 Commenti
Più risposte (1)
  madhan ravi
      
      
 il 19 Ott 2020
        
      Modificato: madhan ravi
      
      
 il 19 Ott 2020
  
      The imaginary part might not be exactly zero.
 vpa(Answer)
Vedere anche
Categorie
				Scopri di più su Creating and Concatenating Matrices 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!


