how to execute str2num or str2double in matlab?
Show older comments
I am having trouble using commands str2num.
I have a character
t='2'
'u1'
'u2 '
I used the command p=str2double(char(t)). Right now if I use str2num, a null array appears in the output whereas using str2double gives NaN in output. While searching about these I learned that these character values are not converted to numbers.
I wanted p to store values [2, 1, 2]. How can I do that? Thanks for reading...
4 Comments
Walter Roberson
on 9 May 2018
Is t a char vector that might at different times have '2' or 'u1' or 'u2 ' ? Or is t a cell array of character vectors that has those three character vectors in it? Or is t a single character vector '2 u1 u2 ' ?
In the number portion, is it necessary to recognize negative values? Is it necessary to recognize decimal points and fractions? How about exponential numbers? How about complex values?
MEENAL SINGHAL
on 9 May 2018
Edited: per isakson
on 9 May 2018
per isakson
on 9 May 2018
Edited: per isakson
on 9 May 2018
Hint:
t = { '2' 'u1' 'u2 '};
c = regexp( t, '[\d ]+', 'match' );
p = cellfun( @str2double, c )
outputs
p =
2 1 2
MEENAL SINGHAL
on 9 May 2018
Edited: MEENAL SINGHAL
on 9 May 2018
Accepted Answer
More Answers (0)
Categories
Find more on Data Type Conversion in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!