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

1 vue (au cours des 30 derniers jours)
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'

Réponses (1)

fareed jamaluddin
fareed jamaluddin le 20 Juin 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?

Catégories

En savoir plus sur Tables dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by