NaN from str2double('1 2 3') on Matlab 2020a
3 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Dawid Strzelczyk
le 16 Oct 2020
Commenté : James Tursa
le 16 Oct 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 commentaire
Stephen23
le 16 Oct 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...
Réponse acceptée
Bruno Luong
le 16 Oct 2020
Modifié(e) : Bruno Luong
le 16 Oct 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 commentaires
James Tursa
le 16 Oct 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
Plus de réponses (0)
Voir également
Catégories
En savoir plus sur Environment and Settings dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!