Reading numbers from alphanumeric strings in a cell matrix
Ältere Kommentare anzeigen
Hi ppl, i am reading a text file consisting of various lines of alpha-numeric strings...
N010 G00 X0 Y0 Z0 N020 G01 X-10 Y10 Z-1 N030 G01 X20 Y40 Z-1 N040 G04 X3 Y3 Z10 M03
Now I need all numerical values of X, i.e. -10,20,3. The problem I am facing is that the strings are read from text file as 'cell' vector and i have to convert them to 'char' to use 'regexp' using '\w*X\w*'....this works, but does not allow the negative number to be read because it starts with a '-'. What to do now??? can anybody help?? I am using MATLAB 2010
Akzeptierte Antwort
Weitere Antworten (1)
Azzi Abdelmalek
am 13 Okt. 2012
Bearbeitet: Azzi Abdelmalek
am 13 Okt. 2012
A={'N010' 'G00' 'X0' 'Y0' 'Z0' 'N020' 'G01' 'X-10' 'Y10' 'Z-1' 'N030'}
y=cell2mat(cellfun(@(x) str2num(cell2mat(regexp(x,'-?[0-9]','match'))),A,'un',0))
3 Kommentare
shapes
am 13 Okt. 2012
Azzi Abdelmalek
am 13 Okt. 2012
A={' N010 G00 X0 Y0 Z0 N020 G01 X-10 Y10 Z-1 N030 G01 X20 Y40 Z-1 N040 G04 X3 Y3 Z10 M03'}
y=regexp(x,'-?[0-9,.]','match')
out=cell2mat(cellfun(@(x) str2num(cell2mat(x)),y,'un',0))
shapes
am 13 Okt. 2012
Kategorien
Mehr zu Characters and Strings finden Sie in Hilfe-Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!