Convert single string with many numbers to vector

32 views (last 30 days)
I have the following string
hue = '10 20 30 40 50';
That I want to turn into a vector of those 5 values
hue_vec = [10 20 30 40 50];
How can I do this? Thanks in advance!

Accepted Answer

madhan ravi
madhan ravi on 31 Jul 2019
hue_vec = str2double(regexp(hue,'\d+','match'))
  1 Comment
madhan ravi
madhan ravi on 31 Jul 2019
If you have decimals then the expressions would be:
hue_vec = str2double(regexp(hue,'\d*[\.]?\d*','match'))

Sign in to comment.

More Answers (3)

Fangjun Jiang
Fangjun Jiang on 31 Jul 2019
a=str2num(hue);

Stephen23
Stephen23 on 1 Aug 2019
Edited: Stephen23 on 1 Aug 2019
Very simple, very efficient, no evil eval:
>> hue = '10 20 30 40 50';
>> vec = sscanf(hue,'%f',[1,Inf])
vec =
10 20 30 40 50

Pati Stan
Pati Stan on 31 Jul 2019
This worked beautifully! Thank you!

Categories

Find more on Numeric Types 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!