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

1 visualización (últimos 30 días)
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'

Respuestas (1)

fareed jamaluddin
fareed jamaluddin el 20 de Jun. de 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?

Categorías

Más información sobre Tables en Help Center y File Exchange.

Community Treasure Hunt

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

Start Hunting!

Translated by