NaN from str2double('1 2 3') on Matlab 2020a
    7 visualizzazioni (ultimi 30 giorni)
  
       Mostra commenti meno recenti
    
    Dawid Strzelczyk
 il 16 Ott 2020
  
    
    
    
    
    Commentato: James Tursa
      
      
 il 16 Ott 2020
            Hi
str2double('1 2 3') returns NaN on Matlab 2020a but works fine on Matlab 2018b & Matlab 2016b (returns: 1 2 3). 
How to convert a string of numbers to numbers in the newest Matlab version?
Best,
Dawid 
1 Commento
  Stephen23
      
      
 il 16 Ott 2020
				For all MATLAB versions the most efficient soluton is:
str = '1 2 3';
vec = sscanf(str,'%f')
Avoid str2num, it contains a hidden eval call...
Risposta accettata
  Bruno Luong
      
      
 il 16 Ott 2020
        
      Modificato: Bruno Luong
      
      
 il 16 Ott 2020
  
      "works fine on Matlab 2018b"
Are you sure?
>> version
ans =
    '9.5.0.1298439 (R2018b) Update 7'
>> str2double('1 2 3')
ans =
   NaN
>> str2num('1 2 3')
ans =
     1     2     3
>> 
4 Commenti
  James Tursa
      
      
 il 16 Ott 2020
				One more data point, PCWIN:
>> version
ans =
    '9.5.0.944444 (R2018b)'
>> str2double('1 2 3')
ans =
   NaN
>> str2num('1 2 3')
ans =
     1     2     3
Più risposte (0)
Vedere anche
Categorie
				Scopri di più su Data Type Conversion in Help Center e File Exchange
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!




