Get number from a string

How do I get -0.966 from the string B as a number
B = α -0.966 ° OK 4.000 -15.000 ° 23.000 ° Freiwinkel
I'm missing the minus when I do this:
out_all= regexp(B, '\w*\d', 'Match');
out_all = out_all{1,1};
Radius = append(out_all{1},'.',out_all{2});

 Accepted Answer

B = 'α -0.966 ° OK 4.000 -15.000 ° 23.000 ° Freiwinkel'
B = 'α -0.966 ° OK 4.000 -15.000 ° 23.000 ° Freiwinkel'
C = regexp(B,'[-+]?\d+\.?\d*', 'match')
C = 1×4 cell array
{'-0.966'} {'4.000'} {'-15.000'} {'23.000'}
V = str2double(C)
V = 1×4
-0.9660 4.0000 -15.0000 23.0000

More Answers (0)

Categories

Find more on Signal Processing Toolbox in Help Center and File Exchange

Products

Release

R2019a

Tags

Asked:

on 10 Jun 2022

Commented:

on 10 Jun 2022

Community Treasure Hunt

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

Start Hunting!