How to create variables from table cell array containing char array into separate column

1 Ansicht (letzte 30 Tage)
i have table with border coordinates loaded from spreadsheet.
Example data:
testdata = {'POLYGON ((72502 146871.5, 72566 146839.5, 72614 146791.5))';'POLYGON ((64462 138105.5, 65422 139241.5, 65694 139289.5))'};
T = table(testdata);
i want to create two columns variable of x and y from the table say for the first row of T.testdata(1) the output should become:
x = [72502;72566;72614] and y=[146871.5;146839.5;146791.5]
how can i achieve this? with regexp i manage to strip the unnecessary data
test_regex = regexp(T.testdata{1,1},'[^\(\)]+(?=\))','match');
test_regex{1,1}
ans =
'72502 146871.5, 72566 146839.5, 72614 146791.5'

Antworten (1)

fareed jamaluddin
fareed jamaluddin am 20 Jun. 2018
I have managed to further solve this by the following step:
newChr = strrep(test_regex{1,1},',',';');
testit = str2num(newChr);
x = testit(:,1)
y = testit(:,2)
but i believe there is more optimised way to do this?

Kategorien

Mehr zu Tables finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by