Filter löschen
Filter löschen

NaN from str2double('1 2 3') on Matlab 2020a

4 Ansichten (letzte 30 Tage)
Dawid Strzelczyk
Dawid Strzelczyk am 16 Okt. 2020
Kommentiert: James Tursa am 16 Okt. 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 Kommentar
Stephen23
Stephen23 am 16 Okt. 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...

Melden Sie sich an, um zu kommentieren.

Akzeptierte Antwort

Bruno Luong
Bruno Luong am 16 Okt. 2020
Bearbeitet: Bruno Luong am 16 Okt. 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 Kommentare
Bruno Luong
Bruno Luong am 16 Okt. 2020
AFAIK str2double never works on string with multiple numbers.
James Tursa
James Tursa am 16 Okt. 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

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Mehr zu Data Type Conversion finden Sie in Help Center und File Exchange

Tags

Produkte


Version

R2020a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by