Combining duplicate strings in an array
8 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
James Ruffle
el 26 de Nov. de 2019
Respondida: JESUS DAVID ARIZA ROYETH
el 26 de Nov. de 2019
I have a paired string array of 6-digit xyz coordinates which shows the presence of a edge between two nodes.
x = {'010510' '050110' '1'
'020610' '060210' '1'
'010510' '050110' '1'
'050110' '010510' '1'}
I would like to convert this into a weighted edge list using column 1 and 2 data to generate the following:
y = {'010510' '050110' '3'
'020610' '060210' '1'}
Presumably this needs to use unique and accumarray, however it is a requirement to keep the data as a string of 6 digits and not lose 0's at the start...
Grateful for any working solution!
0 comentarios
Respuestas (1)
JESUS DAVID ARIZA ROYETH
el 26 de Nov. de 2019
solution:
[m,n,l]=unique(join(sort(x(:,1:2)')'));
y= horzcat(split(m),cellstr(num2str(sum(repmat(n',size(x,1),1)==l)')))
0 comentarios
Ver también
Categorías
Más información sobre Characters and Strings 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!