How to make this string a = '(0 0 0)' into a double b = [0 0 0]?

3 Ansichten (letzte 30 Tage)
Suppose I don't know what are the number inside the a string, it could be:
a = '(12 2.8 1.22)' % each number is separated by a single space
which should then be:
b = [12 2.8 1.22]

Akzeptierte Antwort

Kevin Holly
Kevin Holly am 5 Aug. 2022
a = '(12 2.8 1.22)'
a = '(12 2.8 1.22)'
a = strrep(a,')',']');
a = strrep(a,'(','[');
b = str2num(a)
b = 1×3
12.0000 2.8000 1.2200

Weitere Antworten (1)

Fangjun Jiang
Fangjun Jiang am 5 Aug. 2022
Bearbeitet: Fangjun Jiang am 5 Aug. 2022
a = '(12 2.8 1.22)';
b=sscanf(a,'(%f %f %f)')
b = 3×1
12.0000 2.8000 1.2200
b=transpose(sscanf(a,'(%f %f %f)'))
b = 1×3
12.0000 2.8000 1.2200

Produkte


Version

R2020a

Community Treasure Hunt

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

Start Hunting!

Translated by